xml是什么文件格式什么是xml 如何使用




xml是什么文件格式什么是xml 如何使用

2022-07-21 2:27:32 网络知识 官方管理员

了解一下XML吧,它是一种严格但灵活的标记语言,无论是在文档还是图像方面应用都十分广泛。

XML是一种分层的标记语言。它使用打开和关闭标签来定义数据,它常用来存储和交换数据,而且由于它极大的灵活性,不论是在文档还是图像中都用的非常多。

这里是一个XML文档的例子:

阅读这个示例XML,你可能会发现这个XML的格式具有直观的特性。无论你是否熟悉这个文档的主题,你都可能理解本文档中的数据。这部分原因是因为XML被认为是冗长的。它使用了很多标签,标签可以有很长的描述性名称,并且数据以分层的方式排序,这有助于解释数据之间的关系。你可能从这个示例中了解到Fedora发行版和Slackware发行版是两个不同且不相关的Linux发行版,因为每个实例都“包含”在自己独立的标签中。

XML也非常灵活。与HTML不同,它没有预定义的标签列表。你可以自由创建你需要表示任何数据结构的标签。

XML的组成

数据的存在为了读取,当计算机“读取”数据时,该过程称为解析。再次使用示例XML数据,以下是大多数XML解析器认为重要的术语。

  • 文档:标签标记文档的开始,标签标记文档的结束。
  • 节点:、、这些都是节点,在解析术语中,节点是包含其他标签的标签。
  • 元素:像和这些都是元素。从第一个开始,到最后一个>结束是一个元素。
  • 内容:在两个元素标签之间的数据被称之为内容,在第一个标签中,Fedora字符串就是一个内容。

XML模式

XML文档中的标签和标签继承性称为模式。

一些模式是随意组成的(例如,本文中的示例XML代码纯粹是即兴创作的),而其他模式则由标准组织严格定义。例如,可缩放矢量图形(SVG)模式由W3C定义,而DocBook模式由NormanWalsh定义。

模式强制执行一致性。最基本的模式通常也是最严格的。在我的示例XML代码中,将发行版名称放在节点中是没有意义的,因为文档的隐含模式清楚地表明mascot必须是发行版的“子”元素。

数据对象模型(DOM)

如果你必须不断地描述标签和位置(例如,“系统部分中的Linux部分中第二个发行版标签的名称标签”),那么谈论XML会让人感到困惑,因此解析器使用文档对象模型(DOM)的概念来表示XML数据。DOM将XML数据放入一种“家谱”结构中,从根元素(在我的示例XML中,即os标记)开始并包括路径上的每个标记。

xml是什么文件格式(什么是xml如何使用)(1)

这种相同的XML数据结构可以表示为路径,就像Linux系统中的文件或互联网上网页的位置一样。例如,标签的路径可以表示为//os/linux/distribution/slackware/mascot。

两个标签可以被表示为//os/linux/distribution,因为这里有两个发行版的节点,因此一个解析器可以直接将两个节点的内容载入到一个数组中,可以进行查询。

严格的XML

XML也以严格而著称。这意味着大多数应用程序被设计为在遇到XML错误时就会故意失败。这听起来可能有问题,但这是开发人员最欣赏XML的事情之一,因为当应用程序试图猜测如何解决错误时,可能会发生不可预测的事情。例如,在HTML定义明确之前,大多数Web浏览器都包含“怪癖模式”,因此当人们试图查看糟糕的HTML代码时,Web浏览器却可以加载作者可能想要的内容。结果非常难以预测,尤其是当一个浏览器的猜测与另一个浏览器不同时。

XML通过在出现故意错误时失败而不允许这样做。这让作者可以修复错误,直到它们生成有效的XML。因为XML是良好定义的,所以有许多应用程序的验证器插件以及像xmllint和xmlstarlet这样的独立命令来帮助你及早定位错误。

转换XML

因为XML通常用作数据交换,所以将XML转换为其他数据格式或其他XML模式是很常见的。经典示例包括XSLTProc、xmlto和pandoc,但从技术上讲,还有许多其他应用程序或者至少程序的一部分就是在转换XML。

事实上,LibreOffice使用XML来布局其文字处理器和电子表格文档,因此无论何时你导出或从LibreOffice转换文件,你都在转换XML。

开源EPUB格式的电子书使用XML,因此无论何时你将文档转换为EPUB或从EPUB转换,你都在转换XML。

Inkscape是基于矢量的插图应用程序,它将其文件保存在SVG中,这是一种专为图形设计的XML模式。任何时候你将Inkscape中的图像导出为PNG文件时,你都在转换XML。

名单还可以一直继续下去。XML是一种数据存储格式,旨在确保你的数据,无论是画布上的点和线、图表上的节点,还是文档中的文字,都可以轻松准确地提取、更新和转换。

学习XML

编写XML很像编写HTML。感谢JayNick的辛勤工作,在线提供免费且有趣的XML课程可以教你如何使用XML创建图形。

通常,探索XML所需的特殊工具很少。由于HTML和XML之间的密切关系,你可以。此外,QXmlEdit、NetBeans和Kate等开源文本编辑器通过有用的提示、自动完成、语法验证等,使键入和阅读XML变得容易。

选择XML

XML起初可能看起来有很多数据,但它与HTML并没有太大的不同(实际上,HTML已经以XHTML的形式重新实现为XML)。XML有一个独特的好处,即构成其结构的标签也恰好是元数据,提供有关其存储内容的信息。精心设计的XML模式包含并描述你的数据,使用户能够一目了然并快速解析它,并使开发人员能够使用一些库快速解析。


发表评论:

最近发表
网站分类
标签列表