如何为 XML 文件编写 xPath
How do I write xPath for the XML file
如何为下面的 XML 编写 xPath 以从字段“fname”中获取数据
-- 其中字段 'Department' 包含数据“IT”
-- ID 和 ImgID 相同。
-- 下面是示例 XML ----
[示例 XML][1]
<?xml version="1.0" encoding="UTF-8"?>
<dbdump>
<database name="testDatabase" schemaVer="1.0.0">
<table name="testTable">
<row>
<field name="ID">1</field>
<field name="lname">Smith</field>
<field name="fname">Tom</field>
<field name="department">HR</field>
<field name="ImgID">0</field>
</row>
<row>
<field name="ID">2</field>
<field name="lname">K</field>
<field name="fname">John</field>
<field name="department">IT</field>
<field name="ImgID">2</field>
</row>
<row>
<field name="ID">3</field>
<field name="lname">D</field>
<field name="fname">Sam</field>
<field name="department">IT</field>
<field name="ImgID">3</field>
</row>
<row>
<field name="ID">4</field>
<field name="lname">J</field>
<field name="fname">Tina</field>
<field name="department">IT</field>
<field name="ImgID">0</field>
</row>
</table>
</database>
</dbdump>
稍微更精确和高效的 XPath:
/dbdump/database/table/row[field[@name="department"] = "IT"][field[@name="ID"] = field[@name="ImgID"]]/field[@name="fname"]/text()
如何为下面的 XML 编写 xPath 以从字段“fname”中获取数据 -- 其中字段 'Department' 包含数据“IT” -- ID 和 ImgID 相同。
-- 下面是示例 XML ----
[示例 XML][1]
<?xml version="1.0" encoding="UTF-8"?>
<dbdump>
<database name="testDatabase" schemaVer="1.0.0">
<table name="testTable">
<row>
<field name="ID">1</field>
<field name="lname">Smith</field>
<field name="fname">Tom</field>
<field name="department">HR</field>
<field name="ImgID">0</field>
</row>
<row>
<field name="ID">2</field>
<field name="lname">K</field>
<field name="fname">John</field>
<field name="department">IT</field>
<field name="ImgID">2</field>
</row>
<row>
<field name="ID">3</field>
<field name="lname">D</field>
<field name="fname">Sam</field>
<field name="department">IT</field>
<field name="ImgID">3</field>
</row>
<row>
<field name="ID">4</field>
<field name="lname">J</field>
<field name="fname">Tina</field>
<field name="department">IT</field>
<field name="ImgID">0</field>
</row>
</table>
</database>
</dbdump>
稍微更精确和高效的 XPath:
/dbdump/database/table/row[field[@name="department"] = "IT"][field[@name="ID"] = field[@name="ImgID"]]/field[@name="fname"]/text()