查找具有特定值的子项的属性名称

时间:2017-12-24 14:24:55

标签: xml xpath

我想从这个带有XPath的XML文件中获取所有具有值为' General'的子项的属性名称。我无法找到如何做到这一点。 提前谢谢。

<?xml version="1.0" encoding="UTF-8"?>
<Systems>
  <system name="SystemName">
    <systemType>Generic</systemType>
    <servers>
      <server order="1">
        <serverName>Server1Name</serverName>
        <dataSensetivity>1</dataSensetivity>
      </server>
    </servers>
  </system>
  <system name="NewSystemName">
    <systemType>AD</systemType>
    <servers>
      <server order="1">
        <serverName>system1</serverName>
        <dataSensetivity>1</dataSensetivity>
      </server>
      <server order="1">
        <serverName>system2</serverName>
        <dataSensetivity>0</dataSensetivity>
      </server>
    </servers>
  </system>
</Systems>

1 个答案:

答案 0 :(得分:0)

以下XPath将找到附加到具有值为'General'的子元素的元素的所有名称属性。

//*[* = 'General']/@name

您还可以更具体,并比较这些子元素的text()个节点的值:

//*[*/text() = 'General']/@name

您的示例XML没有任何值为“常规”的元素,您的意思是“通用”吗?