如何在Notepad ++中格式化XML?


1738

我有Notepad ++,并且得到了一些很长的XML代码。当我将其粘贴到Notepad ++中时,有一排代码(很难阅读和使用)。

我想知道是否有一种简单的方法来使文本可读(通过可读,我指的是正确制表的代码)。

我可以手动执行此操作,但是由于我已经多次遇到此问题,因此我希望得到永久的解决方案。我肯定有办法做到这一点,因为几年前我已经做过一次,也许是用Visual Studio或其他一些编辑器,我不记得了。

但是Notepad ++可以做到吗?


3
使用最新版本配置XMLTools有点棘手。在Windows 10的Notepad ++版本V6.6.8中,我已经成功配置了XMLTools 2.4.7。从此链接下载最新的插件,并按照install.txt> notepad-plus-plus.org/community/topic/125/…中的说明进行操作
S.Roshanth

1
当前64位版本的解决方案:superuser.com/q/1239935/333622
Raidri支持Monica 18'3

Answers:


2433

尝试插件- > XML工具- >漂亮打印(libxml的)或(XML只-换行Ctrl+ Alt+ Shift+ B

您可能需要使用插件管理器来安装XML Tools,以便在菜单中获得此选项。

以我的经验,libXML提供了很好的输出,但前提是文件的格式正确率为100%。


635
如果您无法在“插件”下找到XML工具,请从“插件”>“插件管理器”>“显示插件管理器”安装它
ala 2012年

30
如果在尝试使用此插件时收到“在内容中检测到错误”错误,请尝试XML工具->立即检查XML语法。我有一个问题,其中编码指定为UTF-16,但实际上是UTF-8。更改XML文件中的编码属性可解决此问题。
Mirza Dobric

153
如果你的插件管理器无法找到XML工具,因为你是在背后工作的代理,请点击此处下载sourceforge.net/projects/npp-plugins/files/XML%20Tools然后XMLTools.dll复制到插件目录和其余四个dll都将留在Notepad ++根目录中。
阿米特·奈杜

15
如果您看不到任何可用的插件,请转到“更新”并更新您的插件管理器。
Surasin Tancharoen

37
...而且,如果您没有插件管理器插件,则可以从此处获取:github.com/bruderstein/nppPluginManager/releases
Zbigniew Wiadro '17

111

您需要从“ 插件”菜单项→“ 插件管理器” →“ 显示插件管理器”安装XML工具,然后检查XML工具,安装它,然后Ctrl+ Alt+ Shift+ B或上面XML工具的选项出现。


79
Step 1: Install XML Tools plugin
Step 2: Format ....completed

在此处输入图片说明


2
很好的答案,但是我没有“插件管理器” o_O有人可以帮忙吗?同时删除了吗?
fl0w

工作了me..For记事本的新版本++有无插件管理,而不是插件管理器
Jayani Sumudini

42

试试TextFX→TextFX Html Tidy→Tidy:重新插入XML

如果您不能使用Eclipse,请执行右键,输入和更正缩进。


2
感谢您的回答,但我找不到Tidy:在TextFX Html Tidy菜单中重新缩进XML。你能告诉我我在想什么吗?
happyhardik 2010年

3
如果没有全局“ TextFX”选项,则需要安装名为TextFX的插件。但这还远远不够,显然6.x版本也缺少libtidy.dll下载,因此您必须仔细研究。 然后,您将获得一个Tidy:reindent XML选项(我认为是)
rogerdpack

1
我有这样的选择,但是它什么也不做(并且没有给出错误信息)。
Danubian Sailor 2014年

对于任何其他想知道的人,这里
Steve Chambers

1
我与TidyXML的主要问题在于,对于超过一到两兆的文件而言,它的速度令人发疯。
TS

33

插件-> XML工具->漂亮打印(libXML)或 Ctrl+ Alt+ Shift+B

您可能需要安装插件:

插件>插件管理器>显示插件管理器

如果您有代理,请从此处下载。

然后复制XMLTools.dll到plugins目录,并将外部库(四个dll)复制到根Notepad ++目录。


19

这是您可以在Notepad ++中用来格式化XML代码的大多数插件。

  • UniversalIndentGUI
    (我推荐这个)

在插件管理器-> UniversalIndentGUI
Shortkey中启用'文本自动更新' = CTRL+ ALT+ SHIFT+J

  • TextFX
    (这是大多数用户使用的工具)

快捷键= CTRL+ ALT+ SHIFT+B

  • XML工具
    XML的定制插件)

快捷键= CTRL+ ALT+ SHIFT+B


1
当我使用UniversalIndentGUI缩进一行XML时,它不起作用。我没有零钱
Alex

1
我再次检查,安装插件后它不起作用。您必须编辑插件的设置,转到“ XML缩进”选项,然后选中“强制换行”选项。现在可以了。感谢您的提示,因为它不能帮助XML并非100%正确:)
Alex

UniversalIndentGUI在其他选项均失败的情况下为我工作,不知道为什么,除了我整理的XML文件超过40MB。这也非常快。向Alex提出XML强制换行选项提示的建议。
布兰斯塔2015年

TextFX已被淘汰-从TextFX的Future中淘汰:“ ...告别老龄化的马匹,为社区服务良好。”
彼得·莫滕森

15

以前的所有答案均未定义如何在Notepad ++安装中添加插件管理器。

这是针对那些在“插件”标签中看不到插件管理器的人的

从此链接下载插件管理器- 这是针对64位插件管理器的。下载插件管理器后,粘贴到插件文件夹中。这是我的插件文件夹位置:C:\Program Files\Notepad++\plugins

在此处输入图片说明

粘贴.dll文件后,重新启动Notepad ++。现在,您可以安装任何插件。要安装插件,请单击插件选项卡,然后转到插件管理器并选择所需的插件。


14

为了达到最佳效果,你应该使用这两种 TextFX XML整洁 XML工具漂亮的打印。这是方法和原因:

1.TextFX -> TextFX HTML Tidy -> Tidy: reindent XML

TextFX具有包装长行的优点,而XML Tools不会这样做,但是它不能正确缩进那些新行。

2. XML Tools -> Pretty print (Text indent)

XML工具通过很好地缩进新包装的行来补充TextFX。


我试图比较2个不同的环境配置文件...它们具有10个左右的不同设置...但是xml属性在一个文件中的一行上,在另一个xml文件中的不同行上。只有做到这两项,实际差异才会在文件比较工具中弹出。谢谢。
granadaCoder 2015年

1
TextFX已被淘汰-从TextFX的Future中淘汰:“ ...告别老龄化的马匹,为社区服务良好。”
彼得·莫滕森

9

如果出现此错误:

Notepad ++错误:无法加载32位插件

无法加载32位插件,XMLTools.dll与当前版本的Notepad ++不兼容

在这里您可以找到适用于Windows 10 x64的工作版本:Xml Tools 2.4.9.2 Unicode

注意:这是我在Windows 10 Professional x64上找到的唯一版本。


7

好的,这是我在Notepad ++中所做的:

  • 外挂程式
  • 插件管理器
  • 显示插件管理器
  • 检查XML工具
  • 安装
  • 重新启动记事本++
  • 打开XML文件
  • 外挂程式
  • XML工具
  • 漂亮的打印件(仅XML-带换行符)

5

您可以在此处找到详细信息以使用Pretty Print(libXML)快速格式化XML。

安装XML工具

如果运行Notepad ++,然后在“插件”菜单中查看,则会看到XML工具不存在:

  1. 此处下载XML工具。

  2. 解压缩文件并将XMLTools.dll复制到Notepad ++ plugins文件夹(在上面的示例中:C:\ Program Files(x86)\ Notepad ++ \ plugins):

  3. 重新启动Notepad ++,现在您应该看到XMLTools出现在Plugins菜单中。

  4. 解压缩ext_libs.zip文件,然后将解压缩的DLL复制到Notepad ++安装目录(在上面的示例中:C:\ Program Files(x86)\ Notepad ++)。

  5. 重新启动Notepad ++,您最终应该看到正确的XML Tools菜单。

  6. 我最常使用的功能是“漂亮打印(仅XML –带换行符)”。这将以所有适当的行距格式化任何XML。


4

记事本+ + v6.6.3与插件“XML工具”和快捷Ctrl+ Alt+ Shift+ B正常工作。


3

在Notepad ++中没有像TextFX这样的东西,至少在最新版本中没有。这是我仍然使用DreamWeaver的原因之一,即使它使我发疯地有时又缓慢又无反应……


是的,新版本中的情况发生了很大变化,但是我仍然无法解决它!
happyhardik 2012年

4
对于5.9.x版本,请转到插件->插件管理器->显示插件管理器,然后您可以从此处添加它
Ralph Willgoss 2012年

1
首先,添加或不添加某些功能的能力可能很奇怪,但这就是为什么这么多的人在诸如DreamWeaver之类的体积较大的产品上使用Notepad ++的原因!您决定自己的程序有多薄或多胖,而不是每天整天都在加厨房水槽……(而且,这应该是评论而不是提交的答案)
BillyNair 2015年

3

Windows 10上的最新版本的Notepad ++ x64 v7.6.2已将插件管理器移至“插件管理”。

旧版本的Notepad ++和插件管理器将无法使用。


2

“但是Notepad ++可以做到吗?”

如果XML无效,答案显然是“否”。我用Tidy2和XMLTools插件尝试了Notepad ++。两者都给出类似于“遇到的错误,请修复”的错误。如果您不关心错误,那就是PITA。

而是在Visual Studio中将其打开,然后编辑->高级->格式化文档。快速又漂亮。


1
如果没有根元素,XMLTools将抱怨。如果您的XML有效,则可以通过在顶部/底部添加<root>/ 来修复它</root>
John Fouhy 2013年

2

如果您的XML不完美,请尝试使用TextFX Characters插件(通过插件管理器安装):

首先,找到一个“>”复制到剪贴板。然后选择所有文本,然后...

在主菜单上:TextFX-> TextFX Edit->在剪贴板字符处隔离线...

这将做一个合理的工作,而不是完美的,但至少是可以阅读的。

我必须使用存储在SQL Server数据库中的XML代码来执行此操作,其中不存储标头,而仅存储XML主体...


TextFX已被淘汰-从TextFX的Future中淘汰:“ ...告别老龄化的马匹,为社区服务良好。”
彼得·莫滕森

2

由于我看到许多有关该插件有问题的人的评论,因此我想提到我所使用的解决方法。

我只是使用其中一个在线站点进行XML查看(我使用https://codebeautify.org/xmlviewer,但是那里有很多),如下所示:

  1. 将XML内容粘贴到输入窗口中
  2. 点击“美化/格式化”按钮
  3. 从结果窗口复制格式化的XML输出
  4. 粘贴到记事本++

我不知道它是否完全可以回答OP的问题,但是对于任何有插件问题的人来说,这非常简单容易。


9
仅当您的xml不包含任何敏感/私有数据时才这样做
Patman

1

按上述方式正确配置后UniversalIndentGUI便为我完成了工作。

TextFX无法在运行Windows XP的旧PC上正确安装和运行。上面有手动安装各种DLL文件的说明,但我宁愿避免任何手动安装。

UniversalIndentGUI格式化了以下几行:

        <ClockStatus>1
        </ClockStatus>

我更希望:

        <ClockStatus>1</ClockStatus>

但是输出仍然比长线好很多!


1

您不能,因为您无权安装插件。但是您可能已经拥有或可以获取Eclipse(Visual Studio也可以这样做)。

Ctrl+ N(新文件)→(选择XML文件)→(粘贴XML内容)→ Ctrl+ Shift+ K(格式)

如果您想格式化JSON NotePad ++,可以使用Ctrl+ Alt+ 进行默认设置m

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.