XPath 是一种用于在 XML 中查找信息语言。 XPath 可用来在 XML 文档中对元素和属性进行遍历。
1、XPath 基本介绍
(1) XPath 使用路径表达式在 XML 文档中进行导航。
(2) XPath 包含一个标准函数库。
(3) XPath 是 XSLT 中的主要元素。
(4) XPath 是一个 W3C 标准。
2、使用 XPath 的好处
当我们单纯使用 DOM 定位节点时,大部分时间需要一层一层的处理,如果有了 XPath,我们定位节点将变得很轻松,它可以根据路径、属性,甚至是条件进行节点的检索。
3、XPath 基本语法
XPath 的常见规则:
(1)从根节点开始查找,如: /bookshelf/book,即从根标记下查找所有的 book 标记。
(2)查找某个节点,不管其位置,如: //book,即忽略位置,查找所有 book 标记。
(3) @选择属性,如: //@ID,即获取指定名称的属性,获取属性名为 ID 的属性,同样获取所有的 ID 属性。
(4) [index]根据索引选择节点,如: /bookshelf/book[1],即获取根标记下第一个 book 标记。索引从 1 开始。
(5)根据属性选取节点,如: /bookshelf/book[@ID='1234'],即获取根标记下所有属性 ID为 1234 的 book 标记。
(6)根据子元素的值获取节点,如: /bookshelf/book[student='张三']即获取根标记下 book标记的子标记 student 的值为“张三”的 book 标记。
4、 DOM4J 对 XPath 的支持
1、XPath 基本介绍
(1) XPath 使用路径表达式在 XML 文档中进行导航。
(2) XPath 包含一个标准函数库。
(3) XPath 是 XSLT 中的主要元素。
(4) XPath 是一个 W3C 标准。
2、使用 XPath 的好处
当我们单纯使用 DOM 定位节点时,大部分时间需要一层一层的处理,如果有了 XPath,我们定位节点将变得很轻松,它可以根据路径、属性,甚至是条件进行节点的检索。
3、XPath 基本语法
XPath 的常见规则:
(1)从根节点开始查找,如: /bookshelf/book,即从根标记下查找所有的 book 标记。
(2)查找某个节点,不管其位置,如: //book,即忽略位置,查找所有 book 标记。
(3) @选择属性,如: //@ID,即获取指定名称的属性,获取属性名为 ID 的属性,同样获取所有的 ID 属性。
(4) [index]根据索引选择节点,如: /bookshelf/book[1],即获取根标记下第一个 book 标记。索引从 1 开始。
(5)根据属性选取节点,如: /bookshelf/book[@ID='1234'],即获取根标记下所有属性 ID为 1234 的 book 标记。
(6)根据子元素的值获取节点,如: /bookshelf/book[student='张三']即获取根标记下 book标记的子标记 student 的值为“张三”的 book 标记。
4、 DOM4J 对 XPath 的支持
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new File(filename));
List list=document.selectNodes("/books/book/@show");
Iterator iter=list.iterator();