使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

你可能听说过可扩展标记语言 (XML) ,并且可能已听到组织应使用它的许多原因。 但究竟什么是 XML? 本文介绍 XML 的基础知识 — 它是什么及其工作原理。

本文内容

简要了解标记、标记和标记

为了理解 XML,它有助于理解标记数据的想法。 人员已经创建了几个世纪的文档,而且他们已经标记了这些文件。 例如,学校教师会一直对学生论文进行标记。 它们告诉学生移动段落、澄清句子、更正拼写错误等。 标记文档是定义文档中信息的结构、含义和视觉外观的方式。 如果你曾经在 Microsoft Office Word中使用过修订功能,则你使用了计算机化的标记形式。

在计算中,“标记”也演变为“标记”。 标记是使用称为标记的代码( (有时标记)的过程,有时) 标记来定义结构、视觉外观以及任何数据的含义(在 XML 中)。

本文的 HTML 代码是计算机标记的一个很好的示例。 如果在 Microsoft Internet Explorer 中 (浏览它,请右键单击页面,然后单击“ 查看源) ”,你将看到可读文本和超文本标记语言 (HTML) 标记的混合,例如 <p><h2>。 HTML 和 XML 文档中的标记易于识别,因为它们被尖括号括起来。 在本文的源代码中,HTML 标记执行各种工作,例如定义每个段落 (<p> 的开头和结尾... </p>) 并标记每个图像的位置。

那么,是什么使它成为 XML 呢?

HTML 和 XML 文档包含被标记包围的数据,但这就是两种语言之间的相似性结束的地方。 在 HTML 中,标记定义数据的外观 - 标题转到此处,段落从此处开始,等等。 在 XML 中,标记定义数据的结构和含义 - 数据是什么。

描述数据的结构和含义时,可以通过多种方式重复使用这些数据。 例如,如果你有一个销售数据块,并且该块中的每个项都已明确标识,则可以仅将所需的项加载到销售报表中,并将其他项加载到会计数据库中。 换句话说,可以使用一个系统生成数据并使用 XML 标记将其标记,然后在任意数量的其他系统中处理该数据,而不考虑硬件平台或操作系统。 这种可移植性是 XML 成为最常用的数据交换技术之一的原因。

在操作过程中,请记住下列事实:

  • 不能使用 HTML 来代替 XML。 但是,可以将 XML 数据包装在 HTML 标记中,并将其显示在网页中。

  • HTML 限制为所有用户共享的预定义标记集。

  • XML 允许你创建描述数据和该数据结构所需的任何标记。 例如,假设你需要存储和共享有关宠物的信息。 可以创建以下 XML 代码:

    <?xml version="1.0"?>
    <CAT>
      <NAME>Izzy</NAME>
      <BREED>Siamese</BREED>
      <AGE>6</AGE>
      <ALTERED>yes</ALTERED>
      <DECLAWED>no</DECLAWED>
      <LICENSE>Izz138bod</LICENSE>
      <OWNER>Colin Wilcox</OWNER>
    </CAT>
    

可以看到 XML 标记可以确切地知道你正在查看的数据类型。 例如,你知道这是有关猫的数据,并且可以轻松找到猫的名字、年龄等。 创建定义几乎任何数据结构的标记的功能使 XML 变得“可扩展”。

但不要将该代码示例中的标记与 HTML 文件中的标记混淆。 例如,如果将该 XML 结构粘贴到 HTML 文件中并在浏览器中查看该文件,则结果将如下所示:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

浏览器忽略 XML 标记,只显示数据。

有关格式正确的数据的词

你可能会听到 IT 部门的某人提及“格式正确的”XML。 格式正确的 XML 文件符合一组管理 XML 的非常严格的规则。 如果文件不符合这些规则,XML 将停止工作。 例如,在前面的代码示例中,每个开始标记都有一个结束标记,因此该示例遵循格式正确的规则之一。 如果删除标记并尝试在其中一个 Office 程序中打开该文件,你将看到一条错误消息,并且该程序将阻止你使用该文件。

你不一定需要知道用于创建格式正确的 XML (的规则,尽管它们很容易理解) ,但你需要记住,只有在数据格式正确的情况下,才能在程序和系统之间共享 XML 数据。 如果无法打开 XML 文件,则可能是该文件的格式不正确。

XML 也是独立于平台的,这意味着使用 XML 构建的任何程序都可以读取和处理 XML 数据,而不考虑硬件或操作系统。 例如,使用正确的 XML 标记,可以使用桌面程序打开和使用大型机计算机中的数据。 而且,无论谁创建 XML 数据主体,都可以在多个 Office 程序中使用相同的数据。 由于 XML 非常便携,因此它已成为在数据库和用户桌面之间交换数据时最常用的技术之一。

供其他程序使用的 XML

除了标记格式正确的数据外,XML 系统通常还使用两个附加组件:架构和转换。 以下部分介绍了这些附加组件的工作原理。

快速查看架构

不要让术语“架构”吓倒你。 架构只是一个 XML 文件,其中包含 XML 数据文件中可以和不能驻留的规则。 架构文件通常使用 .xsd 文件扩展名,而 XML 数据文件使用 .xml 扩展名。

架构允许程序验证数据。 它们为构建数据提供了框架,并确保对创建者和任何其他用户有意义。 例如,如果用户输入无效数据(如日期字段中的文本),程序可以提示用户输入正确的数据。 只要 XML 文件中的数据符合给定架构中的规则,任何支持 XML 的程序都可以使用该架构来读取、解释和处理数据。 例如,如下图所示,Excel 可以根据 CAT 架构验证 <CAT> 数据。

利用架构,应用程序可以共享 XML 数据。

架构可能会变得复杂,教你如何创建架构超出了本文的范围。 (此外,你可能还有一个知道如何操作的 IT 部门。) 但是,它有助于了解架构的外观。 以下架构定义了 <CAT> ... </CAT> 标记集的规则。

<xsd:element name="CAT">  
  <xsd:complexType>  
    <xsd:sequence>
      <xsd:element name="NAME" type="xsd:string"/>
      <xsd:element name="BREED" type="xsd:string"/>
      <xsd:element name="AGE" type="xsd:positiveInteger"/>
      <xsd:element name="ALTERED" type="xsd:boolean"/>
      <xsd:element name="DECLAWED" type="xsd:boolean"/>
      <xsd:element name="LICENSE" type="xsd:string"/>
      <xsd:element name="OWNER" type="xsd:string"/>        
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

无需担心了解示例中的所有内容。 请牢记以下事实:

  • 示例架构中的行项称为声明。 如果需要有关动物的其他信息(例如其颜色或标记),则 IT 部门很可能向架构添加声明。 可以随着业务需求的发展更改 XML 系统。

  • 声明提供对数据结构的巨大控制。 例如, <xsd:sequence> 声明意味着标记(如 <NAME><BREED> )必须按上面列出的顺序出现。 声明还可以控制用户可以输入的数据类型。 例如,上述架构需要猫的年龄的正数,而布尔值 (TRUE 或 FALSE) ALTERED 和 DECLAWED 标记的值。

  • 如果 XML 文件中的数据符合架构提供的规则,则表示该数据有效。 根据架构检查 XML 数据文件的过程称为 (逻辑上足够) 验证。 使用架构的最大优势在于,它们可以帮助防止数据损坏。 它们还便于查找损坏的数据,因为 XML 在遇到问题时会停止。

快速查看转换

如前所述,XML 还提供了使用或重用数据的强大方法。 重用数据的机制称为可扩展样式表语言转换 (XSLT) ,或简称为转换。

可以 (,IT 部门) 还可以使用转换在后端系统(如数据库)之间交换数据。 例如,假设数据库 A 将销售数据存储在适用于销售部门的表结构中。 数据库 B 将收入和支出数据存储在为会计部门定制的表结构中。 数据库 B 可以使用转换来接受来自 A 的数据,并将该数据写入正确的表。

数据文件、架构和转换的组合构成了一个基本的 XML 系统。 下图显示了此类系统通常的工作原理。 针对架构验证数据文件,然后通过转换以任意数量的可用方式呈现数据文件。 在这种情况下,转换将数据部署到网页中的表。

使用架构和转换的基本 XML 文件结构

下面的代码示例演示了一种编写转换的方法。 它将 <CAT> 数据加载到网页上的表中。 同样,此示例的要点不是演示如何编写转换,而是向你展示转换可以采用的一种形式。

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"> 
<TABLE>
  <TR>
    <TH>Name</TH>
    <TH>Breed</TH>
    <TH>Age</TH>
    <TH>Altered</TH>
    <TH>Declawed</TH>    
    <TH>License</TH>
    <TH>Owner</TH>
  </TR>
  <xsl:for-each select="CAT">
  <TR ALIGN="LEFT" VALIGN="TOP">
    <TD>
      <xsl:value-of select="NAME"/>
    </TD>
    <TD>
      <xsl:value-of select="BREED"/>
    </TD>
    <TD>
      <xsl:value-of select="AGE"/>
    </TD>
    <TD>
      <xsl:value-of select="ALTERED"/>
    </TD>
    <TD>
      <xsl:value-of select="DECLAWED"/>
    </TD>
    <TD>
      <xsl:value-of select="LICENSE"/>
    </TD>
    <TD>
      <xsl:value-of select="OWNER"/>
    </TD>
  </TR>
</xsl:for-each>
</TABLE>

此示例演示一种转换在编码时的外观,但请记住,只需用纯英语描述数据所需的内容。 例如,你可以转到 IT 部门,并说你需要打印过去两年特定区域的销售数据,“我需要它看起来这样。 然后,IT 部门可以编写 (或更改) 转换来执行该作业。

使所有这些更方便的是,Microsoft 和越来越多的其他供应商正在为各种工作创造转型。 将来,你很可能能够下载满足你的需求的转换,或者你可以根据自己的目的进行调整。 这意味着随着时间推移,XML 的使用成本会降低。

查看 Microsoft Office 系统中的 XML

Office 专业版提供广泛的 XML 支持。 从 2007 Microsoft Office 系统开始,Microsoft Office 使用基于 XML 的文件格式,例如 .docx、.xlsx 和 .pptx。 由于 XML 以文本格式而不是专有二进制格式存储数据,因此客户可以定义自己的架构,并通过更多方式使用数据,而无需支付版税。 有关新格式的详细信息,请参阅 Open XML 格式和文件扩展名。 其他优势包括:

  • 较小的文件大小。 与早期版本的 Office 中使用的二进制格式相比,新格式使用 ZIP 和其他压缩技术将文件大小减少多达 75%。

  • 更轻松地恢复信息,提高安全性。 XML 是可读的,因此,如果文件损坏,可以在 Microsoft 记事本或其他文本阅读器中打开该文件,并恢复至少一些信息。 此外,新文件更安全,因为它们不能包含Visual Basic for Applications (VBA) 代码。 如果使用新格式创建模板,则任何 ActiveX 控件和 VBA 宏都驻留在文件的单独、更安全的部分中。 此外,还可以使用文档检查器等工具删除任何个人数据。 有关使用文档检查器的详细信息,请参阅 通过检查文档删除隐藏数据和个人信息一文。

到目前为止还不错,但是如果你有没有架构的 XML 数据呢? 支持 XML 的 Office 程序有其自己的方法来帮助你处理数据。 例如,如果打开的 XML 文件尚没有架构,Excel 会推断架构。 然后,Excel 提供将此数据加载到 XML 表中的选项。 可以使用 XML 列表和表对数据进行排序、筛选或添加计算。

在 Office 中启用 XML 工具

默认情况下,不显示“开发工具”选项卡,但当你想要在 Office 中使用 XML 命令时,需要将其添加到功能区。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×