xml - 仅当使用xpath存在子节点时才获取父属性xml

标签 xml xpath xpath-2.0

我有下面的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/

相关文章:

xml - 使用 XPath 从孙子那里获取文本并包含函数

java - 读取 XML 文件中的数据并将其保存到数组中

python - selenium.common.exceptions.NoSuchElementException : Message: no such element: Unable to locate element: {"method" :"css selector" ,"selector" :".ui flu~"}

html - XPath 选择该父 div 内的 <div> 的所有文本内容排除特定的 <div> 标记

java - 如何从一组 XPath 表达式生成 XML 文件?

xpath - Xquery:将属性值除以空格

c# - 通过 C# 将消息放入 Websphere MQ 与手动放置相同的消息具有不同的数据长度

C# 与雅虎天气 api

xml - 如何正确使用 Lua-XML 解析器 (lua expat/LuaXml)

python - XPathEvalError : Unregistered function for matches() in lxml