【问题标题】:find and replace all xml elements within a tag查找并替换标签中的所有 xml 元素
【发布时间】:2013-06-05 23:51:28
【问题描述】:

我正在notepad++ 中编辑一个xml 文件,想知道是否可以在特定标签中查找和替换元素。我问这个的原因是我正在编辑一个 lectora 文档,并且想要更改文本框上的 x 和 y 坐标,但仅限于某些章节,如果我对某些内容进行查找和替换,它将查找并替换它的所有实例整个文档,我只需要一个特定的章节/标签。任何帮助将不胜感激,谢谢

<chapter id="46" parent="1">
<name>changing</name>

<point>
<x>65</x>
<y>90</y>
</point>

</chapter>

<chapter id="48" parent="1">
<name>nonchanging</name>
<point>
<x>65</x>
<y>90</y>
</point>

</chapter>

【问题讨论】:

  • 可以,但首先 - 您能否提供一个 XML 示例并说明您需要替换哪些元素以及符合替换条件的规则?
  • 您好,感谢您的回复,基本上我想查找并替换标签中 x 值的所有实例,章节 ID 为 46,而不影响章节 ID 48 中的 x 值。我有添加了上面的 XML 示例。
  • 感觉使用xpath会更容易
  • 你是怎么做到的,@Luis?

标签: xml notepad++


【解决方案1】:

应该这样做:

找到什么:

(<chapter id="(?!46).+<x>)(\d+)(</x>.+</chapter>)

替换为:

\1YOURNUMBER\3

同时勾选“.matches newline”复选框。

但请注意,这不是一个好的解决方案,而是仅在一些临时工作中使用它,您可以在其中验证结果。 正如 Luis 所建议的,xPath 是处理这类事情的最佳方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-12
    • 2013-04-11
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    相关资源
    最近更新 更多