xml是什么格式的文件怎么打开(xml文件是干什么的_一文看懂XML)

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

什么是 XML?

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

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

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

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

XML 的组成

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

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

XML 模式

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

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

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

数据对象模型(DOM)

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

什么是 XML?

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

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

严格的 XML

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

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

转换 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。 感谢 Jay Nick 的辛勤工作,在线提供免费且有趣的 XML 课程可以教你如何使用 XML 创建图形。

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

选择 XML

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

声明:所有白马号原创内容,未经允许禁止任何网站及个人转载、采集等一切非法引用。本站已启用原创保护,有法律保护作用,否则白马号保留一切追究的权利。发布者:白马号,转转请注明出处:https://www.bmhysw.com/article/5141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
白马号白马号

相关推荐

  • 微信长期封号怎么转移好友(历上最简单的转移好友方法)

    今年微信封号越来越严重,封号规则越来越多,应该很多人都遇到过被封号的困扰。账号里面的聊天记录、用心经营的好友圈子、朋友圈的精华内容因此而丢失实在太可惜了。 微信最近出了个新功能——被封的账号可以“临时登陆“,进入“微信团队“界面。临时登陆状态下,账号不能正常收发消息、朋友圈等功能。但是可以导出微信号的所有数据。 根据页面提示,在指定区域点击,可以开始导出账号…

    2022-04-23
    00
  • usb2.0和3.0的接口通用吗(两者接口有什么区别)

    大家好,我是AI尔文,今天给大家讲述一下USB3.0和USB2.0的区别。 USB3.0和USB2.0有什么区别? usb3.0传输速率达USB 2.0十倍,USB 2.0的速率为480 Mbps,而USB 3.0则可达到4.8 Gbps。当然,很多设备不需要如此高的速率,但硬盘和读卡器等设备对速度的要求还是很高的。与USB 2.0相比,USB 3.0将更加…

    2022-05-03
    00
  • win10 0x80070005错误代码解决方法(安装失败的两个解决方法)

    MS酋长在安装Win10的过程中遇到了错误提示: Windows无法安装所需的文件。网络问题可能正在阻止Windows访问文件。请确保计算机已连接到网络,并重新启动安装。错误代码:0x80070005”。 错误原因及解决方法一出现这个问题的原因之一,是在前面的安装过程进行到“获取Windows安装程序的重要更新”这一步时,选择了“立即在线安装更新”。如图: …

    2022-04-30
    00
  • AMD新一代CPU是不是没有针脚了(AMD 下一代 AM5 CPU 接口曝光)

    根据外媒 VideoCardz 消息,AMD 未来的锐龙 7000 系列桌面处理器将不再使用 AM4 接口,更新为 AM5。今日一位爆料者 @ExecuFix 在推特称,AM5 接口将取消 CPU 上的针脚,由 PGA 转向 LGA(land grid array),使得针脚放置在主板上,减小损坏的风险。此外,新处理器将有 1718 个针脚,LGA1718 …

    2022-04-21
    00
  • GD文件怎么打开?详细解说GD文件格式打开方法

    GD文件怎么打开?详细解说GD文件格式打开方法 什么是GD文件? 常用的GD编辑器 如何打开GD文件? 如何转换GD文件格式? 什么是GD文件? GD文件是一种用于描述几何图形的文件格式。它通常用于游戏开发中的关卡编辑,以及其他需要绘制几何图形的应用程序中。 常用的GD编辑器 以下是几个常用的GD编辑器: GDevelop – 这是一款免费的开源…

    2023-06-04
    00

联系我们

QQ:183718318

在线咨询: QQ交谈

邮件:183718318@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信