我想写一个xpath来查找具有特定模式的后代的xml节点。举例来说,如果我有以下XML:是否有XPath查找特定模式下的节点?
<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>
我想获得前两三个“分配”的节点,基于它们具有的嵌套在0或“字符串”节点的子节点更多“Parens”标签。
是否有一个xpath可以完成类似于“(Parens /)* String”类似于“String”和“Parens/Parens/String”的正则表达式?
'//分配[字符串|的括号//字符串]'会发现'Assign'以'String'儿童或有'Parens'孩子与任何'字符串'后裔。 ' ...'也会匹配,所以它不准确。 –
tdelaney