正则表达式基于子值查找所有XML值

时间:2018-09-02 01:06:14

标签: regex xml xml-parsing

我有以下XML代码:

<quantity1 value="foo" name="bar">
   <subquantity duration="2">
        <parameter unit="meters" />
   </subquantity>
</quantity1>

我想导出所有name以便在另一个文档中进行进一步分析,但前提是它们必须具有一定的子值。例如,如何使用正则表达式基于name查找所有unit="meters"

如果您可以在Notepad ++中指示如何执行操作,则奖励积分。也开放其他建议/ SO职位。

1 个答案:

答案 0 :(得分:1)

用于解析XML的正则表达式are wrong

改为使用XSLT中的XPath或脚本语言或xmlstarlet。

示例:

  • //quantity1[subquantity/parameter/@unit="meters"]/@name
  • //*[*/*/@unit="meters"]/@name
  • //*[.//@unit="meters"]/@name