Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅当使用xpath存在子节点时才获取父属性xml_Xml_Xpath_Xpath 2.0 - Fatal编程技术网

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

仅当使用xpath存在子节点时才获取父属性xml,xml,xpath,xpath-2.0,Xml,Xpath,Xpath 2.0,我有以下xml: <root> <steps> <step Name="test1" > <stepDetails Name = "exception" /> <steps Name="1" /> </step> <step Name="test2" > <steps Name="2" />

我有以下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”的步骤。请注意,并非所有步骤都包含步骤详细信息


在本例中,我应该以test2、test3和test3的形式接收输出:

//step[./stepDetails/@Name != 'exception' or not(./stepDetails)]/@Name