XPath 是 W3C 标准
2025-04-23
18
参考资料
XPath 简介
XPath(XML Path Language)是 W3C 标准,用于在 XML 文档中导航和查询节点。它提供了一种路径表达式语法来定位 XML 文档中的元素、属性、文本等。
主要属性
路径表达式:用于定位 XML 节点。
节点类型:元素、属性、文本、命名空间等。
轴(Axes):定义节点与当前节点的关系。
运算符和函数:支持逻辑、比较和数值运算。
基本语法
节点选择:
/
:从根节点开始。//
:选择文档中所有匹配节点。.
:当前节点。..
:父节点。@
:选择属性。谓语(Predicates):
用于过滤节点,写在方括号内,如
//book[price>35]
。通配符:
*
:匹配任何元素节点。@*
:匹配任何属性节点。运算符:
|
:合并多个路径结果。+
,-
,*
,div
:算术运算。=
,!=
,<
,>
:比较运算。函数:
text()
:获取节点文本。contains()
:检查字符串包含。count()
:计算节点数量。
用法示例
选择所有 book 节点:
//book
选择 book 节点的 title 子元素:
//book/title
选择 price 大于 35 的 book 节点:
//book[price>35]
选择带有 category 属性的 book 节点:
//book[@category]
选择 title 包含 "XPath" 的 book 节点:
//book[contains(title, 'XPath')]
选择第一个 book 节点:
//book[1]
选择 price 和 title:
//book/title | //book/price
选择父节点:
//title/..
轴(Axes)示例
子节点:
child::book
属性节点:
attribute::category
祖先节点:
ancestor::book
后续兄弟节点:
following-sibling::book
函数示例
计算 book 节点数量:
count(//book)
获取字符串长度:
string-length(//book/title)
求和:
sum(//book/price)
完整 XML 示例
<bookstore> <book category="web"> <title lang="en">XPath Guide</title> <price>30</price> </book> <book category="cooking"> <title lang="en">Recipe Book</title> <price>40</price> </book> </bookstore>
对应 XPath 查询
选择所有书名:
//book/title
选择价格大于 35 的书名:
//book[price>35]/title
选择 category 为 "web" 的书名:
//book[@category='web']/title
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。