我试图编写一个xpath来查找具有遵循特定模式的后代的xml节点。例如,如果我有以下xml:
<While>
<Condition>
<ID val="shouldLoop"/>
</Condition>
<Assign>
<ID val="StringVariable1"/>
<Parens>
<Parens>
<String val="StringLiteral"/>
</Parens>
</Parens>
</Assign>
<Assign>
<ID val="StringVariable2"/>
<String val="StringFigurative"/>
</Assign>
<Assign>
<ID val="StringVariable3"/>
<Add>
<String val="StringLiteral"/>
<String val="StringFigurative"/>
</Add>
</Assign>
</While>
我想得到三个中的前两个&#34;分配&#34;节点,基于它们具有子节点,该节点是&#34; String&#34;嵌套在0或更多的节点&#34; Parens&#34;标签。
是否有一个xpath可以实现这一点,类似于正则表达式如何&#34;(Parens /)* String&#34;将匹配&#34; String&#34;和&#34; Parens / Parens / String&#34;?
答案 0 :(得分:0)
尝试以下XPath
并告诉我结果
//Assign[//Parens[String] or String][position()<3]