如何从 XPATH 中检索名称
How to retrieve name from XPATH
我正在尝试创建一个 XPATH,其中 return 是计数大于 5 的产品的名称。
这是XML:
<?xml version ="1.0" encoding ="UTF -8"?>
<list>
<product>
<name>A</name>
<parts>
<part count="3">X3</part>
<part count="1">Y2</part>
<part count="2">Z6</part >
</parts>
</product>
<product>
<name>B</name>
<parts>
<part count="1">G3</part>
<part count="2">Y6</part>
</parts>
</product>
<product>
<name>C</name>
<parts>
<part count="6">K9</part >
<part count="3">Y6</part>
</parts>
</product>
</list>
我的尝试是:
//name/following-sibling::parts/part[@count>5]
More readable version
/list/product/parts/part[@count>5]
我创建的 XPATH returns <part count="6">K9</part >
部分正确,但它不是 return 产品名称。
在这一点上,我什至不确定我是否应该 return 实际名称(在本例中为 C),是否有可能这样做,或者我的方法是否正确。欢迎任何意见。
怎么样
//product[parts/part/@count > 5]/name
或
//part[@count > 5]/ancestor::product/name
或
//name[../parts/part/@count > 5]
正如他们所说,给猫剥皮的方法有很多种。
您可以使用以下 xpath
/list/product/parts/part[@count>5]/../../name
希望对您有所帮助。
我正在尝试创建一个 XPATH,其中 return 是计数大于 5 的产品的名称。
这是XML:
<?xml version ="1.0" encoding ="UTF -8"?>
<list>
<product>
<name>A</name>
<parts>
<part count="3">X3</part>
<part count="1">Y2</part>
<part count="2">Z6</part >
</parts>
</product>
<product>
<name>B</name>
<parts>
<part count="1">G3</part>
<part count="2">Y6</part>
</parts>
</product>
<product>
<name>C</name>
<parts>
<part count="6">K9</part >
<part count="3">Y6</part>
</parts>
</product>
</list>
我的尝试是:
//name/following-sibling::parts/part[@count>5]
More readable version
/list/product/parts/part[@count>5]
我创建的 XPATH returns <part count="6">K9</part >
部分正确,但它不是 return 产品名称。
在这一点上,我什至不确定我是否应该 return 实际名称(在本例中为 C),是否有可能这样做,或者我的方法是否正确。欢迎任何意见。
怎么样
//product[parts/part/@count > 5]/name
或
//part[@count > 5]/ancestor::product/name
或
//name[../parts/part/@count > 5]
正如他们所说,给猫剥皮的方法有很多种。
您可以使用以下 xpath
/list/product/parts/part[@count>5]/../../name
希望对您有所帮助。