什么是 XML?

可扩展标记语言 (XML) 允许您以可共享的方式定义和存储数据。XML 支持计算机系统(如网站、数据库和第三方应用程序)之间的信息交换。预定义的规则简化了在任何网络上以 XML 文件的形式传输数据的过程,接收者可以使用这些规则准确高效地读取数据。

为什么 XML 很重要?

可扩展标记语言 (XML) 是一种提供规则来定义任何数据的标记语言。与其他编程语言不同,XML 本身无法执行计算操作。相反,任何编程语言或软件都可以用于结构化数据管理。

例如,考虑一个带有注释的文本文档。注释可能会给出如下建议:

  • 将标题加粗
  • 这个句子是标题
  • 这个词是作者

此类注释在不影响文档内容的情况下提高了文档的可用性。类似地,XML 使用标记符号来提供关于任何数据的更多信息。其他软件(如浏览器和数据处理应用程序)可以使用这些信息更有效地处理结构化数据。

XML 标签

您可以使用标记符号(在 XML 中称为标签)来定义数据。例如,为了表示书店的数据,您可以创建 <book>、<title> 和 <author> 等标签。一本书的 XML 文档的内容如下:

<book>

<title> Learning Amazon Web Services </title>

<author> Mark Wilkins </author>

</book>

标签带来了复杂的数据编码,以集成跨不同系统的信息流。

使用 XML 有哪些好处?

支持跨企业交易

当一家公司向另一家公司出售商品或服务时,这两家公司需要交换成本、规格和交货计划等信息。两家公司可以使用可扩展标记语言 (XML),以电子方式共享所有必要的信息,并自动完成复杂的交易,无需任何人工干预。 

维护数据完整性

XML 允许您将数据与数据描述一起传输,防止数据完整性丢失。您可以使用此描述性信息执行以下操作:

  • 验证数据准确性
  • 为不同用户自动自定义数据表示
  • 跨多个平台一致存储数据 

提高搜索效率

像搜索引擎这样的计算机程序可以比其他类型的文档更高效、更精确地对 XML 文件进行排序和分类。例如,单词 mark 可以是名词,也可以是动词。基于 XML 标签,搜索引擎可以准确地对相关搜索结果的标记进行分类。因此,XML 可以帮助计算机更高效地解释自然语言。

设计灵活的应用程序

使用 XML,您可以方便地升级或修改应用程序设计。许多技术,特别是较新的技术,都具有内置的 XML 支持。这些技术可以自动读取和处理 XML 数据文件,这样您就可以在不必重新格式化整个数据库的情况下进行更改。

 

XML 有哪些应用?

可扩展标记语言 (XML) 是数千种应用程序中的底层技术,从文字处理等常见的生产力工具到图书出版软件,甚至是复杂的应用程序配置系统都包含在其范围之内。

数据传输

您可以使用 XML 在以不同格式存储相同数据的两个系统之间传输数据。例如,您的网站以 MM/DD/YYYY 格式存储日期,但您的会计系统以 DD/MM/YYYY 格式存储日期。您可以使用 XML 将数据从网站传输到会计系统。您的开发人员可以编写代码自动转换以下内容:

  • 将网站数据转换为 XML 格式
  • 将 XML 数据转换为会计系统数据
  • 将会计系统数据转换回 XML 格式
  • 将 XML 数据转换回网站数据

Web 应用程序

XML 提供了您在网页上看到的数据的结构。其他网站技术(如 HTML)使用 XML 向网站访客提供一致且相关的数据。例如,考虑一个销售服装的电子商务网站。该网站使用 XML 根据用户偏好创建定制网页,而不是向所有访客展示所有服装。该网站通过筛选 <brand> 标签显示特定品牌的产品。

文档

您可以使用 XML 指定任何技术文档的结构信息。然后,其他程序会处理该文档结构使其灵活呈现。例如,段落、编号列表中的项目和标题有 XML 标签。使用这些标签,其他类型的软件会自动准备文档以供打印和网页发布等用途。

数据类型

许多编程语言都支持 XML 作为数据类型。有了这种支持,您可以轻松地用其他语言编写可以直接用于 XML 文件的程序。

XML 文件有哪些组成部分?

可扩展标记语言 (XML) 文件是一种基于文本的文档,可以使用 .xml 扩展名保存。您可以像其他文本文件一样编写 XML。要创建或编辑 XML 文件,您可以使用以下任一方法: 

  • 文本编辑器,如 Notepad 或 Notepad++
  • 在线 XML 编辑器
  • 网络浏览器

任何 XML 文件都包括以下组成部分。

XML 文档

<xml></xml> 标签用于标记 XML 文件的开头始和结尾。这些标签中的内容也称为 XML 文档。这是任何软件处理 XML 代码所需的第一个标签。

XML 声明

XML 文档的开头是有关 XML 本身的一些信息。例如,其中可能会提到它所遵循的 XML 版本。这个开头称为 XML 声明。示例如下。

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

XML 元素

在 XML 文档中创建的所有其他标签都称为 XML 元素。XML 元素可以包含以下功能:

  • 文本
  • 属性
  • 其他元素

所有 XML 文档都以主标签开头,称为根元素。

例如,考虑以下 XML 文件。

<InvitationList>

<family>

       <aunt>

       <name>Christine</name>

        <name>Stephanie</name>

       </aunt>

</family>

</InvitationList>

<InvitationList> 是根元素;family aunt 是其他元素名称。

XML 属性

XML 元素可以具有其他描述符,称为属性。您可以定义自己的属性名称,并在引号中写入属性值,如下所示。

<person age=“22”>

XML 内容

XML 文件中的数据也称为 XML 内容。例如,在 XML 文件中,您可能会看到这样的数据。 

<friend>

       <name>Charlie</name>

       <name>Steve</name>

</friend>

数据值 Charlie Steve 是内容。

什么是 XML 架构?

可扩展标记语言 (XML) 架构是指描述 XML 文件结构的某些规则或限制的文档。您可以用几种不同的方式描述这些约束,如:

  • 确定元素顺序的语法规则
  • 内容必须满足的是或否条件
  • XML 文件中内容的数据类型
  • 数据完整性约束

例如,书店的 XML 架构可能会施加如下约束:

  1. book 元素的属性有 title author
  2. book 元素嵌套在具有属性名的 category 元素下。
  3. 书的价格是嵌套在 book 下的单独元素。 

为了满足这些约束,我们编写了如下所示的 XML 文件。 

<category name=“Technology”>

<book title=“Learning Amazon Web Services”, author=“Mark Wilkins”>

<price>$20</price>

</book>

</category>

XML 架构在不同的软件应用程序创建和使用 XML 文件的方式上实现了一致性。一些行业实施了特定于其操作的 XML 架构,以降低为企业数据传输编写 XML 代码的复杂性。例如,可伸缩矢量图形 (SVG) 是用于描述计算机图形相关数据的 XML 规范。软件开发人员编写 XML 文件,以满足此类行业规范。

什么是 XML 解析器?

可扩展标记语言 (XML) 解析器是一种可以处理或读取 XML 文档以提取其中数据的软件。XML 解析器还可以检查 XML 文件的语法或规则,并可以根据特定的 XML 架构对其进行验证。由于 XML 是一种严格的标记语言,如果存在任何验证或语法错误,解析器将不会处理该文件。例如,如果以下任一条件成立,XML 解析器将给出错误:

  • 缺少结尾标签或结束标签
  • 属性值没有引号
  • 未满足架构条件

软件应用程序使用 XML 解析器将 XML 文件转换为本地数据类型。这样,他们可以专注于应用程序逻辑,而不必深入 XML 本身的细节。

 

XML 与 HTML 有哪些不同?

超文本标记语言 (HTML) 是大多数网页中使用的语言。Web 浏览器可以处理 HTML 文档并将其显示为多媒体页面。万维网联盟 (W3C) 是一个国际社区,旨在制定协议和指导方针以确保网络长期发展。W3C 建立了 HTML 和可扩展标记语言 (XML) 标准,网站开发人员实施这些标准可确保一致性和质量。

XML 与 HTML

虽然 HTML 和 XML 文件看起来非常相似,但有一些关键区别。

用途

HTML 的用途是表示和显示数据。但 XML 用于存储和传输数据。

标签

HTML 有预定义的标签,用户在 XML 中可以创建和定义自己的标签。

语法规则

HTML 和 XML 语法之间有一些微小但重要的差异。例如,XML 区分大小写,但 HTML 不区分大小写。如果将标签写为 <Book> 而不是 <book>,XML 解析器将给出错误。

AWS 服务如何支持 XML?

所有 AWS 数据集成服务都可以处理可扩展标记语言 (XML) 文件。下面列出了一些示例。

AWS Glue 是一项无服务器数据集成服务,您可以用于发现、准备和合并数据以进行分析、机器学习和应用程序开发的工作。AWS Glue DataBrew 是一种可视化的数据准备工具,您可以用于通过一个交互式、点击式可视化界面准备数据,而不需要编写代码。DataBrew 可以输入所有类型的文件格式,包括 XML。

Amazon Simple Queue Service (SQS) 是一种完全托管的消息队列服务,您可以用于在任何卷的软件组件之间发送、存储和接收消息。Amazon SQS 消息可包含不超过 256 KB 的文本数据,包括 XML、JSON 和无格式文本。

Amazon Kinesis 可让您轻松收集、处理和分析实时流数据,以便您及时获得见解并对新信息快速做出响应。凭借 Kinesis 的关键功能,您可以经济高效地处理任何规模的流式传输数据。您还可以灵活选择适合应用程序要求的工具。使用 Kinesis 可以流式传输、转换和实时分析 XML 数据

立即创建 AWS 账户,开始使用数据集成。

使用 AWS 的后续步骤

查看其他与产品相关的资源
了解有关分析服务的更多信息 
注册免费账户

立即享受 AWS 免费套餐。 

注册 
开始在控制台中构建

在 AWS 管理控制台中,使用 AWS 开始构建。

登录