Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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
Xml 非特定父元素的所有元素的XPath_Xml_Xpath_Xpath 2.0_Xpath 1.0 - Fatal编程技术网

Xml 非特定父元素的所有元素的XPath

Xml 非特定父元素的所有元素的XPath,xml,xpath,xpath-2.0,xpath-1.0,Xml,Xpath,Xpath 2.0,Xpath 1.0,假设我有以下XML: <div> <a> <label>a</label> </a> <b> <label>b</label> </b> <c> <d> <label>c-d</label> </d> </c>

假设我有以下XML:

<div>
   <a>
      <label>a</label>
   </a>
   <b>
      <label>b</label>
   </b>
   <c>
      <d>
         <label>c-d</label>
      </d>
   </c>
   <b>
      <d>
         <label>b-d</label>
      </d>
   </b>
</div>

A.
B
c-d
b-d
我试图使用Xpath查找所有“标签”元素,但不在
标记中。 在本例中,我希望

<label>a</label>
<label>c-d</label>
a
c-d

如果我正确理解了您的问题,您正在尝试获取所有不在
b
标记内的标签

尝试使用下面的xpath

//div//label[not(ancestor::b)]
此XPath

//label[not(parent::b)]
//label[not(ancestor::b)]
选择每个标题中没有父项的所有
标签
元素

这个XPath

//label[not(parent::b)]
//label[not(ancestor::b)]
根据您的示例选择所有不带祖先的
label
元素