我有Notepad++,我有一些很长的XML代码。当我在Notepad++中粘贴它时,有一行很长的代码(很难阅读和使用)。

我想知道是否有一种简单的方法使文本可读(可读是指正确的标签代码)。

我可以手动完成,但我希望有一个永久的解决方案,因为我已经多次面对这个问题。我相信有一种方法可以做到这一点,就像几年前我做过一次一样,可能是用Visual Studio或其他编辑器,我不记得了。

但是Notepad++能做到吗?


当前回答

你不能,因为你无权安装插件。但您可能已经或可以获得Eclipse(Visual Studio也可以做到这一点)。

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

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

其他回答

由于我看到了很多关于人们对插件有问题的评论,我想我应该提到我使用的解决方案。

我只使用一个在线站点来查看XML(我使用https://codebeautify.org/xmlviewer,但有很多)如下:

在输入窗口中粘贴XML内容单击“美化/格式”按钮从结果窗口复制格式化的XML输出在记事本中粘贴++

我不知道它是否能准确回答OP的问题,但对于任何使用插件有问题的人来说,这非常简单和容易。

“但是Notepad++能做到吗?”

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

相反,在visual studio中打开它,然后编辑->高级->格式文档。又快又漂亮。

UniversalIndentGUI为我完成了这项工作,如上所述正确配置后。

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

UniversalIndentGUI格式化了一些行,如下所示:

        <ClockStatus>1
        </ClockStatus>

我更希望:

        <ClockStatus>1</ClockStatus>

但输出仍然比一条长线好得多!

为了获得最佳效果,您应该同时使用TextFX XML整洁和XML工具漂亮的打印。以下是方法和原因:

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

TextFX具有换行的优点,这是XML工具无法做到的,但它不能正确缩进这些新行。

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

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

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

安装XML工具

如果您运行Notepad++并查看Plugins菜单,您会发现XML工具不存在:

从这里下载XML工具。解压缩文件并将XMLTools.dll复制到Notepad++插件文件夹(在上面的示例中:C:\Program Files(x86)\Notepad++\plugins):重新启动Notepad++,您现在应该可以在Plugins菜单中看到XMLTools。解压缩ext_libs.zip文件,然后将解压缩的DLL复制到Notepad++安装目录(在上面的示例中:C:\Program Files(x86)\Notepad++)。重新启动Notepad++,您将最终看到正确的XML工具菜单。我使用最多的功能是“漂亮的打印(仅限XML–带换行符)”。这将使用所有适当的行距格式化任何XML片段。