xPath技术

来源:互联网 发布:淘宝指南针店铺 编辑:程序博客网 时间:2024/06/05 07:56
XPath 是在 XML 文档中查找信息的语言 
XPath 是通过元素和属性进行查找
XPath简化了Dom4j查找节点的过程
学习XPath是为了更快更好地选取我们想要选取的XML元素。
使用XPath必须导入jaxen-1.1-beta-6.jar

否则出现NoClassDefFoundError: org/jaxen/JaxenException

查询节点:

获取所有符合条件的节点
selectNodes(String xpathExpression) 返回List集合
获取符合条件的单个节点
selectSingleNode(String xpathExpression) 返回一个Node对象。
如果符合条件的节点有多个,那么返回第一个。

XPath语法:

    1.  / 绝对路径   表示从xml的根位置开在哪始或子元素(一个层次结构)
    2.  // 相对路径  表示不分任何层次结构的选择元素
    3.  * 通配符       表示匹配所有元素
    4.  [] 条件       表示选择什么条件下的元素
    5.  @  属性       表示选择属性节点
    6.  and 关系     表示条件的与关系(等价于@@)
    7.  text() 文本   表示选择文本内容


运行结果:

org.dom4j.tree.DefaultElement@5b40c349 [Element: <student1 attributes: [org.dom4j.tree.DefaultAttribute@78d51c6c [Attribute: name id value "001"], org.dom4j.tree.DefaultAttribute@6f3d346d [Attribute: name name value "zhangsan"]]/>]
org.dom4j.tree.DefaultElement@1b3d1929 [Element: <student1 attributes: [org.dom4j.tree.DefaultAttribute@483ee0b7 [Attribute: name id value "002"], org.dom4j.tree.DefaultAttribute@1813336f [Attribute: name name value "lisi"]]/>]
org.dom4j.tree.DefaultElement@1495c8c2 [Element: <student1 attributes: []/>]
org.dom4j.tree.DefaultElement@ef2625f [Element: <name attributes: []/>]


运行结果:

org.dom4j.tree.DefaultElement@78d51c6c [Element: <student1 attributes: [org.dom4j.tree.DefaultAttribute@6f3d346d [Attribute: name id value "001"], org.dom4j.tree.DefaultAttribute@1b3d1929 [Attribute: name name value "zhangsan"]]/>]
org.dom4j.tree.DefaultElement@483ee0b7 [Element: <student1 attributes: [org.dom4j.tree.DefaultAttribute@1813336f [Attribute: name id value "002"], org.dom4j.tree.DefaultAttribute@1495c8c2 [Attribute: name name value "lisi"]]/>]
org.dom4j.tree.DefaultElement@75af431c [Element: <student1 attributes: []/>]
org.dom4j.tree.DefaultElement@4b1852a3 [Element: <name attributes: []/>]

0 0
原创粉丝点击