Oh MyUtils

XML格式化器和验证器 - XML美化 在线

格式化、验证和压缩XML,带语法高亮和树形视图。修复XML错误,在格式化和压缩输出间转换。

模式
缩进
视图
输入
输出
 

常见问题

什么是XML格式化工具?

XML格式化工具(也称为XML美化器或XML漂亮打印器)是一种将XML文档重新格式化为具有适当缩进、换行和一致结构的工具,以提高可读性。它将压缩或格式混乱的XML转换为干净、结构良好的代码,使其更易于阅读、审查和调试。

如何使用这个XML格式化工具?

在输入区域粘贴或输入您的XML,或上传XML文件(.xml、.svg、.xsd、.wsdl、.pom、.rss)。选择「格式化」选项卡进行美化,或选择「压缩」选项卡进行压缩。选择您喜欢的缩进级别(2个空格、4个空格或制表符)。工具会自动验证您的XML并显示其是否有效。在输出面板中切换代码视图(带语法高亮)和树视图(层级结构)。点击「复制」将结果复制到剪贴板,或点击「下载」保存为.xml文件。

我的XML数据安全吗?会被发送到服务器吗?

您的XML数据是100%安全的,永远不会离开您的浏览器。此工具使用浏览器内置的DOMParser API在您的设备上完全处理所有格式化、验证和压缩操作。XML数据永远不会被传输到任何服务器、存储在任何数据库中或记录在任何地方。您可以通过断开互联网连接来验证这一点——页面加载后,该工具可以完全离线工作。

支持哪些类型的XML文件?

此格式化工具支持任何格式良好的XML文档,包括:标准XML文件(.xml)、SVG图形(.svg)、XSD模式定义(.xsd)、XSLT样式表(.xslt/.xsl)、WSDL Web服务定义(.wsdl)、Maven POM文件(pom.xml)、RSS/Atom订阅源(.rss、.atom)、SOAP信封、Android清单文件、Spring配置文件、.csproj/.vbproj项目文件以及任何其他基于XML的格式。

格式化和压缩XML有什么区别?

格式化(美化)添加适当的缩进和换行,使XML文档便于人类阅读。每个元素都显示在自己的行上,缩进反映嵌套深度。压缩(最小化)删除标签之间所有不重要的空白,以生成尽可能紧凑的XML,同时保留文本内容和CDATA部分中的空白。压缩对于减少文件大小以便传输和存储非常有用。

树视图是如何工作的?

树视图将您的XML文档显示为交互式层级结构。每个XML元素显示为可折叠的节点,显示标签名称及其属性。您可以点击展开或折叠单个节点,以关注文档的特定部分。元素名称以蓝色显示,属性以紫色显示,文本内容以默认颜色显示,注释以灰色显示,CDATA部分以橙色显示。父节点显示子元素计数徽章,以便您快速了解每个分支的复杂程度。

如果我的XML有错误会怎样?

如果您的XML格式不正确,工具会显示清晰的错误消息,包含检测到错误的行号和列号。常见错误包括:未关闭的标签、不匹配的标签名称、缺少属性引号、同一元素上的重复属性、元素名称中的无效字符以及缺少根元素。请注意,此工具验证的是格式良好性(XML语法),而不是模式有效性(是否符合XSD/DTD)。

代码示例

// Parse and validate XML using DOMParser
const parser = new DOMParser();
const doc = parser.parseFromString(xmlString, 'text/xml');
const error = doc.querySelector('parsererror');
console.log(error ? 'Invalid' : 'Valid');

// Format XML with indentation
function formatXml(xml, indent = '  ') {
  let formatted = '';
  let level = 0;
  xml.replace(/>\s+</g, '><').replace(
    /(<\/?[^>]+>)/g,
    (tag) => {
      if (tag.startsWith('</')) level--;
      formatted += indent.repeat(level) + tag + '\n';
      if (tag.startsWith('<') && !tag.startsWith('</') && !tag.endsWith('/>')) level++;
    }
  );
  return formatted.trim();
}

// Minify XML
const minified = xml.replace(/>\s+</g, '><').trim();

相关工具