什么是XPath?
系统
1483 0
XPath是一个获取XML文档中你所需要的节点元素的组件。它允许你用很少的代码就能获取指定的路径下你所选取的节点的值。例如,你有一个类似下面的XML文档:
程序代码
<products>
<productSKU="7123734">
<name>BigMetalPot</name>
<price>19.95</price>
</product>
<productSKU="752585">
<name>Plate</name>
<price>12.95</price>
</product>
<productSKU="4182476">
<name>Spoon</name>
<price>4.95</price>
</product>
</products>
你可以用下面的代码来获取产品的种类
myXPathDocument.selectNodes("/products/product");
你也可以用这样的代码来获得所有产品中价格超过5美圆的产品:
myXPathDocument.selectNodes("/products/product[./price>5]");
你也可以获取所有的SKUs就像这样:
myXPathDocument.selectNodes("/products/product/@sku");
---------------------------------------------------------------------------------------------------
XPath 规范基本上遵循与文件系统寻址相同的规则:
-
如果 XPath 表达式以斜杠 (/) 开头,代表的是 XML 元素的绝对路径(从 XML 文档的根开始)。
-
如果 XPath 表达式以双斜杠 (//) 开头,则会选择当前文档中符合指定条件的所有元素,而不考虑它们在 XML 文档中的位置。例如,
//employee
会查找 XML 文档中的所有员工节点。
-
星号 (*) 会选择由前面的路径定位的所有 XML 元素。例如,
/company/department/*
选择一个部门的所有子节点,即该部门的所有员工。
-
点 (.) 选择当前的节点,两个点 (..) 选择父节点。例如,用于选择某个员工所在的部门的 XPath 表达式就是
../employee
。
-
要选择属性,请使用
@
字符。例如,
/company/department/employee[@retired]
选择指定了
retired
属性的所有员工。
什么是XPath?
更多文章、技术交流、商务合作、联系博主
微信扫码或搜索:z360901061
微信扫一扫加我为好友
QQ号联系: 360901061
您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。
【本文对您有帮助就好】元