什么是 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 架构可能会施加如下约束:
- book 元素的属性有 title 和 author。
- book 元素嵌套在具有属性名的 category 元素下。
- 书的价格是嵌套在 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 账户,开始使用数据集成。