【问题标题】:Extracting specific data from xml using Notepad++使用 Notepad++ 从 xml 中提取特定数据
【发布时间】:2013-02-04 09:15:12
【问题描述】:

我有一个带有结构(例如组 > 子组 > 子记录)的 xml 响应,并且重复了几千次,每次都有不同的值。

我只想抓取 9 位序列号字段与我提供的匹配的子组,并将它们提取到自己的文件中。在提取子组时,它也会带上组。我希望这样的任务可以使用 notepad++ 并可能通过使用正则表达式来完成,但不确定我将如何去做。

【问题讨论】:

  • 没有。使用 XML 解析器和 XPath。带有正则表达式的 Notepad++ 不是此任务的正确工具。

标签: regex xml notepad++


【解决方案1】:

我不熟悉notepad++。为了使我的解决方案正常工作,它需要支持多行正则表达式和高级正则表达式语法(非贪婪匹配)。并非所有支持正则表达式的文本编辑器都可以。

我会以你想要的外部标签开始和结束\<subgroup\>\<\/subgroup\> 转义特殊字符。为了捕捉介于两者之间的内容,我会使用非贪婪匹配\<subgroup\>\.*?<\/subgroup\>。然后我会添加你感兴趣的具体序列号\<subgroup\>\.*?123456789.*?<\/subgroup\>

如果您想在此处查找多个序列号中的一些,请使用类似

\<subgroup\>\.*?(123456789|987654321|678912345).*?<\/subgroup\>

【讨论】:

  • 在我的情况下,涉及多个序列号,我在想是否有可能以某种方式将这些添加到记事本 ++ 的逗号分隔类型列表中,以仅提取列表中具有序列号的组.
  • 编辑了我的答案,包括查找序列号列表
猜你喜欢
  • 1970-01-01
  • 2014-02-02
  • 2015-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-19
  • 1970-01-01
相关资源
最近更新 更多