XPath 总结学习笔记
什么是XPath?
XPath(XML Path Language)是一种在XML文档中定位节点的语言,它可以通过简洁的路径表达式来选取XML文档中的节点和节点集合。
XPath语法
XPath语法非常简洁,主要由以下几个部分组成:
节点选择器
XPath通过不同类型的节点选择器来表达匹配的节点,例如:
nodename
: 选择指定名称的所有节点*
: 选择所有节点@attribute
: 选择指定属性的所有节点
路径表达式
XPath使用路径表达式来定位节点,例如:
/
: 根节点//
: 选取文档中的所有节点,或者某个节点下的所有节点.
: 当前节点..
: 父节点
谓语
XPath使用谓语来进一步筛选匹配的节点,例如:
[attribute-name]
: 选择含有指定属性名的节点[attribute-name="value"]
: 选择含有指定属性名和属性值的节点[position()]
: 选择指定位置的节点[last()]
: 选择最后一个节点
XPath实例
假设我们有以下XML文档:
xmlCopy Code<books>
<book id="001">
<title>Harry Potter and the Philosopher's Stone</title>
<author>J.K. Rowling</author>
<price>20.00</price>
</book>
<book id="002">
<title>Harry Potter and the Chamber of Secrets</title>
<author>J.K. Rowling</author>
<price>22.00</price>
</book>
<book id="003">
<title>The Hitchhiker's Guide to the Galaxy</title>
<author>Douglas Adams</author>
<price>18.00</price>
</book>
</books>
我们可以使用以下XPath表达式来选取不同的节点:
//book
: 选取所有的book节点/books/book[1]/title
: 选取第一个book节点的title子节点/books/book[@id="002"]/price
: 选取id为002的book节点的price子节点/books/book[last()]/author
: 选取最后一个book节点的author子节点
通过XPath,我们可以快速定位XML文档中的节点,提高开发效率。