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
Xml 选择具有特定属性的子节点的所有节点_Xml_Xpath - Fatal编程技术网

Xml 选择具有特定属性的子节点的所有节点

Xml 选择具有特定属性的子节点的所有节点,xml,xpath,Xml,Xpath,我试图只选择具有c属性子元素的a元素。所以在这种情况下,它将只是前两个a元素 <alpha> <a id="1"> <b c="1"/> </a> <a id="2"> <b c="1"/> </a> <a id="3"> <b /> </a> </alpha> 提前感谢您的帮助 编辑:有人建议我参考提出的解决方案,

我试图只选择具有c属性子元素的a元素。所以在这种情况下,它将只是前两个a元素

<alpha>
  <a id="1">
    <b c="1"/>
  </a>
  <a id="2">
    <b c="1"/>
  </a>
  <a id="3">
    <b />
  </a>
</alpha>
提前感谢您的帮助


编辑:有人建议我参考提出的解决方案,但是,该线程中解决的问题与我的不同,它涉及子元素,而不是子元素的属性,因此我无法从中推断出问题的解决方案

这应该如预期的那样起作用: //a/*[@c]


选择任何节点//a和属性为c[@c]的任何子节点//*。

尝试以下Expersion缩写语法:

//a[*/@c]
/descendant::a[child::*/attribute::c]
也可以使用未加修饰的语法:

//a[*/@c]
/descendant::a[child::*/attribute::c]
可能重复的