我正在尝试仅选择具有带c属性的子元素的元素。所以在这种情况下,它只是前两个元素。
<alpha>
<a id="1">
<b c="1"/>
</a>
<a id="2">
<b c="1"/>
</a>
<a id="3">
<b />
</a>
</alpha>
有关如何做到这一点的任何想法?我试过以下没有运气:
/alpha/a/b/*[@c]
//a[b/*[@c]]
提前感谢您的帮助!
编辑:有人建议我咨询How to find the transaction is settled/Unsettled in Authorize.net?提出的解决方案,但是,该线程中解决的问题与我的不同(涉及子元素而不是子元素的属性)并且我没有能够从中推断我的问题的解决方案。
答案 0 :(得分:1)
尝试以下experssion(缩写语法):
//a[*/@c]
或者您可以使用未缩写的语法:
/descendant::a[child::*/attribute::c]
答案 1 :(得分:0)
这应该按预期工作: // a / * [@ c]
选择任何节点&#34; // a&#34;与任何孩子&#34; / *&#34;属性c&#34; [@ c]&#34;。