【问题标题】:How do I format XML in Notepad++?如何在 Notepad++ 中格式化 XML?
【发布时间】:2023-03-18 20:28:02
【问题描述】:

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

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

我可以手动完成,但我想要一个永久的解决方案,因为我已经多次遇到过这个问题。我确信有一种方法可以做到这一点,因为我在几年前做过一次,可能是 Visual Studio 或其他编辑,我不记得了。

但是 Notepad++ 能做到吗?

【问题讨论】:

  • 在最新版本中配置 XMLTools 有点棘手。在 Windows 10,Notepad++ 版本 V6.6.8 我已经成功配置了 XMLTools 2.4.7。从此link 下载最新插件并按照 install.txt > notepad-plus-plus.org/community/topic/125/… 中的说明进行操作。
  • 64位版本的当前解决方案:superuser.com/q/1239935/333622
  • @S.Roshanth 似乎已在 64 位 Notepad++ 的最新 8.x 版本中得到解决。只需使用 Plugins -> Plugins Admin 并搜索 XMLTools 并在那里安装。然后,要格式化的菜单选项出现在插件 -> XML 工具中。

标签: notepad++ code-formatting


【解决方案1】:

试试 TextFX → TextFX Html Tidy → Tidy: reindent XML

如果您无法尝试使用 Eclipse,请执行右键、源代码和更正缩进。

【讨论】:

  • 感谢您的回答,但我无法在我的 TextFX Html Tidy 菜单中找到 Tidy: reindent XML。你能告诉我我错过了什么吗?
  • 如果您没有全局“TextFX”选项,那么您需要安装名为 TextFX 的插件。但这还不够,显然 6.x 版本也缺少 libtidy.dll 下载,因此您必须费尽心思才能获得它。 然后你会有一个 Tidy: reindent XML 选项(我想)
  • 我有这样的选项,但它什么也没做(并且没有给出错误消息)。
  • 对于其他想知道的人,@rogerdpack 提到的箍在here 进行了讨论
  • 我对 TidyXML 的主要问题是它对于任何超过一两兆的文件来说都非常慢。
【解决方案2】:

尝试插件 -> XML 工具 -> Pretty Print (libXML) 或(仅限 XML - 带换行符 Ctrl + Alt + Shift + B)

您可能需要使用插件管理器安装 XML 工具才能在菜单中获得此选项。

根据我的经验,libXML 提供了不错的输出,但前提是文件格式 100% 正确。

【讨论】:

  • 如果在 Plugins 下找不到 XML Tools,请从 Plugins > Plugins Manager > Show Plugins Manager 安装它
  • 如果您在尝试使用此插件时收到“在内容中检测到错误”错误,请尝试 XML 工具 -> 现在检查 XML 语法。我有一个问题,编码被指定为 UTF-16 但实际上是 UTF-8。更改 XML 文件中的编码属性解决了问题。
  • 如果你的插件管理器因为你在工作的代理后面找不到 XML 工具,请从这里下载它sourceforge.net/projects/npp-plugins/files/XML%20Tools 然后将 XMLTools.dll 复制到插件目录和其余四个dll 到 Notepad++ 根目录。
  • 广告如果您看不到任何可用的插件,请转到“更新”并更新您的插件管理器。
  • ...如果你没有插件管理器插件,你可以从这里得到它:github.com/bruderstein/nppPluginManager/releases
【解决方案3】:

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

【讨论】:

  • 是的,在新版本中事情发生了很大变化,但我仍然无法解决它!
  • 对于 5.9.x 版本,转到插件 -> 插件管理器 -> 显示插件管理器,您可以从这里添加它
  • 添加或不添加某些功能的能力起初可能很奇怪,但这就是为什么这么多人使用 Notepad++ 而不是像 DreamWeaver 这样笨重的产品!你决定你的程序有多瘦或多胖,而不是每天都让厨房水槽负荷……(而且,这应该是评论而不是提交的答案)
【解决方案4】:

您需要从 Plugins 菜单项 → Plugins Admin...Plugins Admin 对话框出现 安装 XML 工具,然后滚动到可用插件的底部并检查 XML 工具,安装它,然后 Ctrl + Alt + Shift + B或者显示上面的 XML 工具选项。

【讨论】:

    【解决方案5】:

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

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

    TextFX 具有包装长行的好处,这是 XML 工具不做的,但它不能正确缩进这些新行。

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

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

    【讨论】:

    • 我试图比较 2 个不同的环境配置文件...有 10 种左右不同的设置...但是 xml 属性在一个文件的一行中,在另一个文件中的不同行上xml 文件。只有通过这两项操作,文件比较工具才会出现实际差异。谢谢。
    • TextFX 已被淘汰 - 来自 TextFX's Future:“...告别为社区服务的老马。”
    【解决方案6】:

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

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

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

    【讨论】:

    • 如果没有根元素,XMLTools 会报错。如果您的 XML 在其他方面有效,您可以通过在顶部/底部添加类似 <root>/</root> 的内容来修复它。
    【解决方案7】:

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

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

    【讨论】:

      【解决方案8】:

      插件 -> XML 工具 -> Pretty Print (libXML) 要么 Ctrl+Alt+Shift+B

      您可能需要安装插件:

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

      如果您使用代理,请从here 下载。

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

      【讨论】:

        【解决方案9】:

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

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

        在主菜单上:TextFX -> TextFX Edit -> Solit lines at clipboard char...

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

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

        【讨论】:

        • TextFX 已被淘汰 - 来自 TextFX's Future:“...告别为社区服务的老马。”
        【解决方案10】:

        Notepad++ v6.6.3 带有插件“XML 工具”和快捷键 Ctrl + Alt + Shift + B工作正常。

        【讨论】:

          【解决方案11】:

          以下是您可以在 Notepad++ 中用于格式化 XML 代码的大部分插件。

          • UniversalIndentGUI
            (我推荐这个)

          在插件管理器中启用“文本自动更新”-> UniversalIndentGUI
          快捷键 = CTRL+ALT+SHIFT+J

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

          快捷键 = CTRL+ALT+SHIFT+B

          • XML 工具
            (为 XML 定制的插件)

          快捷键 = CTRL+ALT+SHIFT+B

          【讨论】:

          • 当我使用 UniversalIndentGUI 缩进一大行 XML 时,它不起作用。我没有零钱。
          • 我又检查了一遍,刚安装完插件就不行了。您必须编辑插件的设置,转到 XML 缩进选项并检查强制换行选项。现在它起作用了。感谢您的提示,因为它有助于 XML 不是 100% 正确 :)
          • UniversalIndentGUI 在其他选项失败的情况下为我工作,不知道为什么,除了我美化的 XML 文件超过 40MB。它也非常快。向 Alex 提供 XML 强制换行选项提示的道具。
          • TextFX 已被淘汰 - 来自 TextFX's Future:“...告别为社区服务的老马。”
          【解决方案12】:

          UniversalIndentGUI 为我完成了这项工作,按照上述正确配置后

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

          UniversalIndentGUI 像这样格式化了一些行:

                  <ClockStatus>1
                  </ClockStatus>
          

          我更喜欢:

                  <ClockStatus>1</ClockStatus>
          

          但是输出还是比一长串好很多!

          【讨论】:

            【解决方案13】:

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

            安装 XML 工具

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

            1. here下载XML工具。

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

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

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

            5. 重新启动 Notepad++,您应该终于可以看到正确的 XML 工具菜单了。

            6. 我最常使用的功能是“Pretty print(仅限 XML – 带换行符)”。这将格式化任何具有所有适当行距的 XML。

            【讨论】:

              【解决方案14】:
              Step 1: Install XML Tools plugin
              Step 2: Format ....completed
              

              【讨论】:

              • 很好的答案,但是我没有“插件管理器”o_O 有人可以帮忙吗?同时被删除了吗?
              • 为我工作..对于新版本的记事本++有插件管理员而不是插件管理器
              【解决方案15】:

              如果您收到此错误:

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

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

              注意:这是我发现在 Windows 10 Professional x64 上运行的唯一版本。

              【讨论】:

                【解决方案16】:

                由于我看到很多关于人们在使用插件时遇到问题的 cmets,我想我会提到我使用的解决方法。

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

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

                我不知道它是否有资格准确地回答 OP 的问题,但对于任何对插件有问题的人来说,它都非常简单易行。

                【讨论】:

                • 仅当您的 xml 不包含任何敏感/私人数据时才这样做
                • codebeautify 将我们粘贴的 xml 存储在那里,因此最好避免使用此类工具。
                【解决方案17】:

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

                这是为那些在插件标签中看不到插件管理器的人准备的

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

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

                【讨论】:

                  【解决方案18】:

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

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

                  如果你想格式化 JSON NotePad++ 可以默认使用 Ctrl + Alt + m

                  【讨论】:

                    【解决方案19】:

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

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

                    【讨论】:

                      【解决方案20】:

                      自从第一次提出这个问题以来,XML 工具的位置略有变化。

                      我目前正在使用 Notepad++ v7.8.6

                      新位置是:

                      • 插件选项卡
                      • 插件管理...
                      • 插件管理对话框显示为默认可用插件选项卡
                      • 滚动到底部并选中 XML 工具复选框
                      • 点击对话框右上角的安装按钮

                      这将在安装时关闭 Notepad++,然后自动重新启动。

                      然后有几个键盘快捷键可以美化 XML:

                      • 漂亮打印:Ctrl + Shift + Alt + B
                      • Pretty Print(缩进属性):Ctrl + Shift + Alt + A

                      要查看更多 XML 工具选项:

                      • 插件选项卡
                      • XML 工具选项

                      【讨论】:

                        【解决方案21】:

                        插件 -> 插件管理 -> 搜索 XML 工具

                        一旦安装 XML 工具插件

                        选择整个XML文件内容并点击漂亮的打印

                        Ctrl+Alt+Shift+B

                        【讨论】:

                          猜你喜欢
                          • 2018-08-17
                          • 2011-10-30
                          • 2012-04-22
                          • 2022-11-27
                          • 2011-04-07
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2023-02-04
                          相关资源
                          最近更新 更多