XML 简介

XML(可扩展标记语言)是一种类似于 HTML 的标记语言,但没有预定义的标签可用。相反,您可以定义自己的标签,专门用于您的特定需求。这是一种强大的方式,可以将数据存储在可存储、搜索和共享的格式中。最重要的是,由于 XML 的基本格式是标准化的,如果您在本地或通过互联网跨系统或平台共享或传输 XML,接收方仍然可以解析数据,因为 XML 语法是标准化的。

有许多基于 XML 的语言,包括 XHTMLMathMLSVGRSSRDF。您也可以定义自己的语言。

XML 文档的结构

XML 和基于 XML 的语言的整个结构都是建立在 标签 之上的。

XML 声明

XML 声明不是标签。它用于传输文档的元数据。

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

属性

版本

本文档中使用的 XML 版本。

编码

本文档中使用的编码。

注释

html
<!-- Comment -->

“正确”的 XML(有效且格式良好的)

正确的设计规则

要使 XML 文档正确,必须满足以下条件

  • 文档必须格式良好。
  • 文档必须符合所有 XML 语法规则。
  • 文档必须符合语义规则,这些规则通常在 XML 模式或 DTD(文档类型定义) 中设置。

示例

xml
<?xml version="1.0" encoding="UTF-8"?>
<message>
    <warning>
        Hello World
    <!--missing </warning> -->
</message>

现在让我们看一下同一文档的修正版本

xml
<?xml version="1.0" encoding="UTF-8"?>
<message>
    <warning>
         Hello World
    </warning>
</message>

包含未定义标签的文档无效。例如,如果我们从未定义过 <warning> 标签,则上面的文档将无效。

大多数浏览器提供调试器,可以识别格式错误的 XML 文档。

字符引用

与 HTML 一样,XML 提供 字符引用 用于引用某些特殊保留字符(例如用于标签的大于号)。您应该了解这五个字符

实体 字符 描述
&lt; < 小于号
&gt; > 大于号
&amp; & 和号
&quot; " 一个双引号
&apos; ' 一个撇号(或单引号)

尽管只有 5 个声明的字符引用或实体,但可以使用文档的 文档类型定义 添加更多实体。例如,要创建一个新的 &warning; 实体,您可以这样做

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE body [
  <!ENTITY warning "Warning: Something bad happened... please refresh and try again.">
]>
<body>
  <message> &warning; </message>
</body>

您也可以使用数字字符引用来指定特殊字符;例如,&#xA9; 是“©”符号。

显示 XML

XML 通常用于描述目的,但也有方法可以显示 XML 数据。如果您没有定义 XML 渲染的特定方法,则原始 XML 将在浏览器中显示。

为 XML 输出设置样式的一种方法是使用 xml-stylesheet 处理指令指定要应用于文档的 CSS

xml
<?xml-stylesheet type="text/css" href="stylesheet.css"?>

还有一种更强大的方法可以显示 XML:可扩展样式表语言转换 (XSLT),它可以用于将 XML 转换为其他语言,例如 HTML。这使 XML 变得非常灵活。

xml
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>

建议

这篇文章显然只是对 XML 的一个简短介绍,并提供了一些小的示例和参考来帮助您入门。有关 XML 的更多详细信息,您应该在网上搜索更深入的文章。

学习超文本标记语言 (HTML) 将帮助您更好地理解 XML。

另请参阅