Notepad ++在多个标签中选择文本

时间:2015-04-28 10:52:53

标签: xml notepad++ edit

希望有人可以提供帮助。我有一个非常大的XML文件,需要整理。基本上我们需要摆脱一些换行符。大约有19,000个“<Location>”标签,其中包含文字。有没有办法让NPP搜索所有<Location>标签,选择它到结束标签并执行连接线?加入行可以解决问题,但需要整天检查每个问题。

编辑:对不起,不要以为我解释得很好!所以基本上这个XML文档中存在更多标签,例如:

<AccomRef>
<Code>BT1</Code>
<Location>Sometimes the text in here has line breaks
like this</Location>
</AccomRef>

我认为理想情况下,我需要在每个结束标记之后保持标记干净整洁,但只需确保所有位置文本在没有中断的情况下连接。我试过CTRL + A&gt; CTRL + J,但这会让文件难以阅读!希望这更有意义。

4 个答案:

答案 0 :(得分:0)

我假设每个<Location>标记的匹配结束标记为</Location>,如下所示:

<Location>something</Location>
<Location>another</Location>
<Location>and again</Location>

你想要去

<Location>something</Location><Location>another</Location><Location>and again</Location>

如果有,请转到Replace对话框(Ctrl + H),然后选择Extended中的Search Mode。 输入</Location>\r\n作为Find文字,并将</Location>作为Replace文字。

然后,这将使用结束标记替换每个结束标记+换行符。

我在尝试使用实际数据之前,先在示例文件上尝试这个!

编辑:既然你已经澄清了你的问题,我的回答并没有真正帮助。

答案 1 :(得分:0)

有一个插件&#34; XML工具&#34;。您可以使用插件管理器安装它。它提供了几种选择:

  • 线性化
  • 使用和不使用换行符美化

你可以尝试一下。

答案 2 :(得分:0)

Lars提到有一个插件,它很棒。但是要理解你的问题,你要处理这样的情况

<location>some location</location>
<location>some 
location2</location>
<location>some location3</location>

并希望有类似的东西

<location>some location</location>
<location>some location2</location>
<location>some location3</location>

如果这是你的问题,你可以通过两个步骤解决它:

1)用空格替换\r\n

2)将</location>替换为</location>\r\n

答案 3 :(得分:0)

尝试使用:

点击 Ctrl + H

找到:(?=<Location>)([^\r\n]+)\R(?!<location>)
替换为:$1

确保选中Regular Expression,然后点击全部替换