xml解析之(三) - dom4j对xpath的支持

               Dom4j对XPATH的支持 

   dom4j中查询可能不是很方便,但是通过引入XPATH,可以大大简化我们队dom元素的查询

   1.引入XPATH包(jaxen-1.1-beta-6.jar)(下载一个dom4j,里面就有)

   2.引入dom4j jar包

   3.DOM4J使用xpath有两种方法

     selectNodes()

     selectSingleNode()

入门例子:

public static void main(String[] args) throws Exception{

//xpath中提供了selectNodes和selectSingleNode方法,

        这种解析xml的方式大大提高了开发效率,建议以后开发可以常用

   /* 

        1. / 代表元素绝对路径

        2. //代表 无论层级关系

        3. * 任意

        4.[]获取元素的位置

        具体可以参考xpath的文档

  */

Document document = Dom4jXmlUtils.getDocument("src/person.xml");

//List<Node> nodeList = document.selectNodes("/persons/person");//文档中persons标签下的person标签

 

//List<Node> nodeList = document.selectNodes("//name");//文档中任意位置的name标签

 

/*List<Node> nodeList = document.selectNodes("/persons/person/*");

System.out.println(nodeList.size());*/

 

/*List<Node> nodeList = document.selectNodes("/persons/person/name[1]");

    Node node = nodeList.get(1);

    System.out.println(node.getText());*/

 

 /*List<Node> nodeList = document.selectNodes("//person/id[@type]");

    System.out.println(nodeList.size());*/

 

    Node node = document.selectSingleNode("//person/id");

    System.out.println(node.getText());

    

}

 

}

Person.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<persons> 

  <person> 

    <id type="uuid" length="12" value="001">001</id>  

    <name>jack</name>  

    <age>44</age>  

    <sql><![CDATA[

      select * from table

]]></sql>  

    <dog>狼狗</dog> 

  </person>  

  <person> 

    <id>002</id>  

    <name from="fg">jim</name>  

    <age>19</age>  

    <height>180cm</height> 

  </person> 

</persons>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值