XML 入门

应用对象
Microsoft 365 专属 Excel Microsoft 365 专属 Word Microsoft 365 专属 Outlook Microsoft 365 专属 PowerPoint Microsoft 365 专属 Access Excel 2024 Outlook 2024 PowerPoint 2024 Access 2024 Excel 2021 Word 2021 Outlook 2021 PowerPoint 2021 Access 2021 Visio Professional 2021 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Access 2019 Visio Professional 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Access 2016 Visio 专业版 2016 Office 2016

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

本文内容

标记、标记和标记的简要介绍

要理解 XML,理解标记数据的概念会有所帮助。 几个世纪以来,People 一直在创建文档,并且他们标记这些文档的时间也一样长。 例如,学校老师一直在标记学生的论文。 他们告诉学生移动段落、澄清句子、纠正拼写错误等等。 标记文档是我们定义文档中信息的结构、含义和视觉外观的方式。 如果您曾经使用过 Microsoft Office Word 中的“修订”功能,那么您就已经使用了计算机化形式的标记。

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

本文的 HTML 代码是计算机标记工作中的一个很好的例子。 如果 (在 Internet Explorer 中Microsoft浏览,右键单击该页面,然后单击“ 查看源) ”,将看到可读文本和超文本标记语言 (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> )必须按照上面列出的顺序出现。 声明还可以控制用户可以输入的数据类型。 例如,上面的架构要求猫的年龄使用正数,而布尔值 (ALTERED 和 DECLAWED 标记的 TRUE 或 FALSE) 值。
  • 当 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 支持。 Microsoft Office 使用基于 XML 的文件格式,如 .docx、.xlsx 和 .pptx。 由于 XML 以文本格式而不是专有的二进制格式存储数据,因此客户可以定义自己的架构并以更多方式使用数据,所有这些都无需支付版税。 有关新格式的详细信息,请参阅 Open XML 格式和文件扩展名。 其他优点包括:

  • 更小的文件大小。 与早期版本的 Office 中使用的二进制格式相比,新格式使用 ZIP 和其他压缩技术将文件大小减少了 75%。
  • 更容易的信息恢复和更高的安全性。 XML 是人类可读的,因此,如果文件损坏,你可以在 Microsoft 记事本或其他文本阅读器中打开该文件,并恢复至少部分信息。 此外,新文件更安全,因为它们不能包含Visual Basic for Applications (VBA) 代码。 如果使用新格式创建模板,则任何 ActiveX 控件和 VBA 宏都将位于文件更安全的单独部分中。 此外,您还可以使用 Document Inspector 等工具来删除任何个人数据。 有关使用文档检查器的详细信息,请参阅 文章通过检查文档删除隐藏数据和个人信息

到目前为止一切顺利,但如果有没有架构的 XML 数据怎么办? 支持 XML 的 Office 程序有自己的方法来帮助你处理数据。 例如,如果打开的 XML 文件尚无架构,Excel 就会推断出架构。 然后,Excel 提供了将这些数据加载到 XML 表中的选项。 可使用 XML 列表和表对数据进行排序、筛选或添加计算。

在 Office 中启用 XML 工具

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