XML 简介

XML(可扩展标记语言)是一种类似于 HTML 的标记语言,但它没有预定义的标签。取而代之的是,您可以定义自己的、根据您的特定需求设计的标签。这是一种强大的数据存储方式,可以方便地进行存储、搜索和共享。最重要的是,由于 XML 的基本格式是标准化的,因此无论您是在本地还是通过互联网在系统或平台之间共享或传输 XML,接收方都可以由于标准化的 XML 语法而解析数据。

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

XML 文档结构

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

XML 声明

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

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

属性

版本

本文档中使用的 XML 版本。

encoding

本文档中使用的编码。

注释

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 提供 字符引用 来引用一些特殊的保留字符(例如用于标签的大于号)。有五个这样的字符您应该了解:

Entity 字符 描述
&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。

另见