如何从 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

希望对您有所帮助。