概述

XML 在线格式化工具,通过简单的点击按钮就可以实现格式化 XML 代码,也可以压缩 XML 代码,同时可以通过上传 XML 文件来格式化 XML。

什么事 XML?

XML(eXtensible Markup Language)是可扩展标记语言,用于结构化存储和传输数据,广泛用于网络数据交换。它由万维网联盟(W3C)制定,主要目标是简单、通用、自定义。

XML 的基本特点

  • 可扩展性:XML 没有固定的标签定义,可以根据需求自定义标签。
  • 易于阅读:采用层次化结构,数据通过标签明确分层,易于人工和程序理解。
  • 自描述性:标签为数据提供了描述性的信息,便于读者或应用程序理解数据含义。
  • 平台无关性:XML 纯文本格式使得数据在不同平台、系统之间易于传输和解析。
  • 支持国际化:XML 使用 Unicode 编码,支持多种语言字符。

XML 的基本结构

XML 文件的结构包含声明、元素、属性、文本等部分:

1、XML 声明

XML 文档通常从声明开始,指定版本和编码方式。

<?xml version="1.0" encoding="UTF-8"?>

2、元素(Element)

XML 数据以层次化的元素结构呈现,元素由成对的开始标签和结束标签包围。

<book>
    <title>XML Guide</title>
    <author>John Doe</author>
    <price>29.99</price>
</book>

3、属性(Attribute)

元素可以包含属性,用于存储额外的信息。属性在标签内部定义,值用引号包裹。

<book category="technology">
    <title>XML Guide</title>
</book>

4、文本(Text)

元素可以包含文本数据,用来表示具体的值。
<price>29.99</price>

5、注释

可以在 XML 中添加注释,帮助解释代码,便于阅读和维护。

XML 文件的结构包含声明、元素、属性、文本等部分: 2.1 XML 声明 XML 文档通常从声明开始,指定版本和编码方式。 xml 复制代码 2.2 元素(Element) XML 数据以层次化的元素结构呈现,元素由成对的开始标签和结束标签包围。 xml 复制代码 XML Guide John Doe 29.99 2.3 属性(Attribute) 元素可以包含属性,用于存储额外的信息。属性在标签内部定义,值用引号包裹。 xml 复制代码 XML Guide 2.4 文本(Text) 元素可以包含文本数据,用来表示具体的值。 xml 复制代码 29.99 2.5 注释 可以在 XML 中添加注释,帮助解释代码,便于阅读和维护。
<!-- This is a comment -->

XML 规则

  • 唯一根元素:XML 必须有一个根元素,包含所有其他元素。
  • 严格的标签闭合:每个开始标签都必须有一个对应的结束标签。
  • 区分大小写<Title><title> 被认为是不同的标签。
  • 属性值必须加引号:XML 属性的值必须用引号包围。

XML 的用途

  • 数据交换:XML 是网络和应用程序之间数据传输的标准格式。例如,Web 服务通过 XML 交换数据。
  • 配置文件:许多应用程序使用 XML 作为配置文件格式,例如 Java 的 Spring 框架。
  • 文档结构化:XML 常用于文档数据组织,例如文档管理系统中的文档元数据。
  • 跨平台数据存储:XML 文件可以用作简单的数据存储文件,适用于小规模应用。

XML 与 JSON 比较

  • 可读性:JSON 比 XML 更简洁,适合数据传输;XML 自描述性较好,适合复杂文档。
  • 数据类型:XML 不支持原生数据类型,所有数据都是字符串;JSON 有布尔值、数值等数据类型。
  • 使用场景:XML 适合结构化复杂文档,JSON 更适合网络数据交换。

常见 XML 工具与解析库

  • DOM(Document Object Model):用于将 XML 解析成树结构,适合操作小型 XML 文件。
  • SAX(Simple API for XML):基于事件的解析方式,更适合处理大型 XML 文件。
  • XPath/XQuery:查询和操作 XML 数据的标准语言。
  • 解析库:如 Java 的 DOM 和 SAX 解析器、Python 的 xml.etree.ElementTree 等。

7. XML 示例

下面是一个包含多个书籍的 XML 数据示例:

<library>
    <book category="technology">
        <title>XML Guide</title>
        <author>John Doe</author>
        <price>29.99</price>
    </book>
    <book category="fiction">
        <title>The Great Novel</title>
        <author>Jane Smith</author>
        <price>19.99</price>
    </book>
</library>