是否有XPath来查找特定模式下的节点?

2024-10-02 14:28:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个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>

我想得到三个“Assign”节点中的前两个,基于它们有一个子节点,该子节点是嵌套在0个或多个“Parens”标记中的“String”节点。你知道吗

是否有一个xpath可以实现这一点,类似于正则表达式(如“(Parens/)*String”)如何匹配“String”和“Parens/Parens/String”?你知道吗


Tags: addidstring节点模式valxmlcondition