我有下面的xml:
<root>
<steps>
<step Name="test1" >
<stepDetails Name = "exception" />
<steps Name="1" />
</step>
<step Name="test2" >
<steps Name="2" />
</step>
<step Name="test3" >
<steps Name="3" />
</step>
<step Name="test4" >
<stepDetails Name = "valid" />
<steps Name="1" />
</step>
</steps>
<root>
我希望获得所有步骤的名称,但那些具有StepDetails名称为“ exception”的步骤除外。请注意,并非所有Step中都包含StepDetails。
在此示例中,我应将输出分别作为test2,test3和test3
最佳答案
xpath
表达式:
//step[./stepDetails/@Name != 'exception' or not(./stepDetails)]/@Name
关于xml - 仅当使用xpath存在子节点时才获取父属性xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49108098/