226

是否有可用的免费 XML 格式化(缩进)工具,我可以在其中传递 XML 字符串并对其进行格式化,以便我可以正确读取 XML 文档?

谢谢

编辑 ~ 我在 Windows XP 上使用 XML 记事本。

4

12 回答 12

351

我相信Notepad++有这个功能。

编辑(对于较新版本)
安装“XML 工具”插件(菜单插件、插件管理器)
然后运行:菜单插件、Xml 工具、Pretty Print(仅限 XML - 带换行符)

原始答案(对于旧版本的 Notepad++)

Notepad++ 菜单:TextFX -> HTML Tidy -> Tidy: Reindent XML

然而,这个特性包装了 XML,这使它看起来“不干净”。没有包装,

  • 打开C:\Program Files\Notepad++\plugins\Config\tidy\TIDYCFG.INI,
  • 找到条目[Tidy: Reindent XML]并添加wrap:0,使其看起来像这样:
[整洁:重新缩进 XML]
输入-xml:是的
缩进:是
换行:0
于 2008-10-11T06:30:37.510 回答
61

Firstobject 的Windows 免费XML 编辑器叫做foxe,是一个很棒的工具。

打开或粘贴您的 XML 并按 F8 进行缩进(您可能需要设置缩进空格的数量,因为它可能默认为 0)。

它看起来很简单,但是它包含一个用 C++ 编写的自定义编写的 XML 解析器,可以轻松高效地处理非常大的 XML 文件(与我使用的一些昂贵的“间谍”相关工具不同)。

从产品页面:

此 firstobject XML 编辑器(包括 CDataEdit 千兆字节编辑控件 MFC 组件)的完整 Visual C++ 源代码可作为高级 CMarkup 开发人员许可证的一部分。它允许开发人员为自己的目的实现自定义 XML 处理功能,例如验证、转换、美化和报告。

于 2008-10-11T06:49:25.537 回答
54

使用以下内容:

xmllint --format

于 2008-10-11T06:18:01.933 回答
22

您可以在任何 Visual Studio Express 产品中打开 XML 文件,然后按Ctrl+ ACtrl+ KCtrl+F将其格式化。

嘿,它是免费的,它是一个工具,所以它适合这个问题。:-)

于 2008-10-11T11:47:41.143 回答
17

在 Notepad++ 中重新缩进 XML 的另一种方法:

从菜单中选择插件 -> XML 工具 -> 漂亮打印(仅限 XML - 带换行符)
或按Ctrl+ Alt+ Shift+ B

于 2011-01-18T04:40:10.470 回答
5

您也可以尝试http://xmltoolbox.appspot.com/它是一个在线 xml 格式化程序。您只需将您的 xml 粘贴到一个大文本区域字段中,然后按“格式化 xml”,然后它会在文本区域中漂亮地打印 xml,以便于阅读或复制。

还有一个不错的小过滤器功能,可让您查看某个元素的所有内容。

希望你会喜欢这个工具

于 2011-07-17T18:18:56.617 回答
4

如果您使用 Notepad++,我建议您安装XML Tools插件。您可以美化任何 XML 内容(缩进和换行)或对其进行线性化。您还可以(自动)验证您的文件并对其应用 XSL 转换。

下载最新的 zip 并将提取的 DLL 复制到 Notepad++ 安装的插件目录中。此外,下载外部库并将它们复制到您的 %SystemRoot%\system32\ 目录。

于 2008-10-13T18:23:06.603 回答
3

高级常规格式[更新]

XMLSpectrum是一个开源语法高亮工具。支持 XML - 但具有 XSLT 2.0、XSD 1.1 和 XPath 2.0 的特殊功能。我在这里提到这一点是因为它还具有 XML 的特殊格式化功能:它垂直对齐属性及其内容以及元素 - 以增强 XML 的可读性。

输出 HTML 适合在浏览器中查看,或者如果 XML 需要进一步编辑,可以将其复制并粘贴到您选择的 XML 编辑器中

因为xmlspectrum.xsl使用它自己的 XML 文本解析器,所以实体引用和 CDATA 部分等所有内容都被保留 - 就像在编辑器中一样。

在此处输入图像描述

使用注意事项:这只是一个 XSLT 2.0 样式表,因此您需要将所需的命令行(提供的示例)包含在一个小脚本中,以便自动转换 XML 源。

虚拟格式化

XMLQuire是一个免费的 XML 编辑器,具有特殊的格式化功能 - 它可以正确格式化 XML,包括多行属性、属性值、自动换行缩进甚至 XML 注释。

所有 XML 缩进都是在不插入制表符或空格的情况下完成的,从而确保了 XML 的完整性。对于 XP 之后的 Windows 版本,不需要安装,它只是一个 3MB 的 .exe 文件。

如果您需要打印出格式化的 XML,则在打印预览中有特殊选项,例如缩进后的行号。如果您需要将格式化的 XML 作为富文本复制到文字处理器,这也是可用的。

[披露:我将 XMLQuire 和 XMLSpectrum 都维护为“家庭项目”]

于 2011-09-07T15:45:14.893 回答
1

不是直接的答案,但很高兴知道:缩进后,请确保随后将处理格式化 XML 的解析器和应用程序不会产生不同的结果。空白在 XML 中通常很重要,并且大多数符合标准的解析器将其冒泡到应用程序中。

于 2008-10-13T18:30:24.137 回答
1

如果您是一名程序员,许多 XML 解析编程库将让您解析 XML,然后将其输出 - 生成漂亮的打印、缩进输出一种输出选项。

于 2008-10-19T16:54:45.933 回答
1

Notepad++ 只有在你使用 ANSI 时才能很好地处理它。如果您以“ANSI AS UTF8”之类的方式执行此操作,请整理一下文档:/。

于 2011-01-24T17:41:25.480 回答
1

试试http://prettydiff.com/ 算法和 HTML Tidy 类似,但更完善。该程序完全用 JavaScript 编写,因此您无需安装任何东西。

于 2011-02-06T14:53:51.900 回答