0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是XML?

汽车电子技术 来源: 码农与软件时代 作者:码农与软件时代 2023-02-14 15:19 次阅读

一、为什么出现XML?

还是从软件说起,其本质是信息处理以及对信息处理的自动化。在软件系统中,数据是信息的载体,是对客观事物所蕴含信息的抽象描述。软件对数据的处理包括:Define(定义)、Transfer(传递)、Transform(转换)、Store(存储)、Retrival(检索)和Show(展示)。

图片

数据可以以二进制的形式表示也可以以文本的形式表示。二进制文件是一个0和1的序列,通常需要专用的程序进行识别和解析,由于占用带宽较少,适用于网络传输,但对于用户来说很难理解。而文本文件是一个由字符组成的文件,方便用户理解,但文件通常较大。

图片

《杂谈:语言的鸿沟》一文中,我们曾讨论过人们总是在追求简单方便。同样地,在二进制文件和文本文件之间人们通常选择的是文本文件。但在文本文件中,人们还希望文本文件能够自表达所蕴含的意义,希望的是有格式的文本数据,于是就需要标记元数据以及所标识的原始数据。在这种情况下,SGML(Standard Generalized Markup Language,标准通用标记语言)以一种规范性的标准出现了,其官网简单示例如下所示:

图片

SGML允许人们使用标准的语法语义创建他们自已的标记语言,例如,HTML使用<>来标识元数据,并且在标记内可以增加定义。SGML具有的这种灵活性,同时也带来了复杂性,事实上,这使得SGML的解析及处理变得十分困难,很难在网络上进行广泛地应用。所以SGML需要改变,需要简化。这种情况下,XML(eXtensible Markup Language,可扩展标记语言)作为SGML的一个简化子集出现了。

二、什么是XML?

  1. 基础

1998年2月,W3C发布了XML的推荐标准,XML继承了SGML的灵活性,没有预定义的标签,标签是由XML的编写人员根据业务需求进行编写的,如下图所示,、、都是自定义的标签,且都有一个对应的关闭标签:

图片

一个基本的XML示例包含XML声明、根元素和子元素。其中,XML声明定义XML的版本和所用的编码;根元素是每个XML文档都必须包含的,并做为XML树的根而解析,如下所示:

图片

XML的解析就是其内容进行分解并重建,通常情况下将其抽象为DOM模型--使用树型结构表示,该模型提供了内存中访问和修改XML信息的方法。需要说明的是,DOM消耗的内存较大。

XML允许自定义标签,同时如果XML文档存在错误,那么程序就不应当继续处理这个文档。那么我们如何来验证XML文档是正确的呢?有两种方式:

  • DTD(document type definitions,文件类型定义)

图片

  • XML Schema

图片

2. 应用场景

在XML出现的前部分时间,XML使用得较少。随着互联网的发展,网络服务大量地接收和发送数据,但数据格式由于技术体系的不同而呈现出较大的差异,数据格式多且大部分都是专有的,开发人员需要做很多数据转换的工作。这就需要实现数据格式的通用性。XML作为对人机友好的文件格式,可提高数据的通用性,使不同组件间的数据交互更容易,并使得开发人员聚焦于业务逻辑的开发与创新。XML在数据交换领域并得到了广泛的应用。除此之外,XML还应用于:

  • 配置文件:许多应用或框架的配置文件都采用XML格式,如Struct、Spring等框架;
  • 数据库系统:大多数数据库系统都能保存XML格式的文件。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件系统
    +关注

    关注

    0

    文章

    62

    浏览量

    9494
  • Transform
    +关注

    关注

    0

    文章

    3

    浏览量

    5643
  • define
    +关注

    关注

    0

    文章

    15

    浏览量

    3734
收藏 人收藏

    评论

    相关推荐

    OpenHarmony语言基础类库【@ohos.xml (xml解析与生成)】

    XML文本转换为JavaScript对象、以及XML文件生成和解析的一系列接口。
    的头像 发表于 05-08 17:05 787次阅读

    xml文件如何打开?怎样打开XML文件?

    XML是ExtensibleMarkupLanguage的简写,一种扩展性标识语言。现在教你打开xml文件的方法和软件。呵,其实最简单的就是用EXCEL表格打开了。。也可以用Netscape 6来
    发表于 07-04 17:56

    PowerDesigner 与XML建模

    PowerDesigner 10 introduces a new XML ModelDesign, generate and reverse engineering XML Schema
    发表于 06-27 16:58 15次下载
    PowerDesigner 与<b class='flag-5'>XML</b>建模

    xml教程下载

     XML简介 XML文档的组成 XML的语法规则 元素的语法 XML文档的有效性  DTD简介 DTD语法&n
    发表于 10-07 13:06 0次下载

    xml教程pdf (XML终极教程下载)

    xml教程pdf (XML终极教程下载) Welcome to the XML Bible. After reading this book I hope you’ll agree with me
    发表于 10-07 14:15 0次下载

    XML Reference Material

    This appendix contains XML reference material. It isdivided into three main parts:1. XML BNF
    发表于 10-07 14:18 8次下载

    An Eagle’s Eye View of XML

    This first chapter introduces you to XML. It explains ingeneral what XML is and how it is used.
    发表于 10-07 14:22 18次下载

    An Introduction to XML Applica

    An Introduction to XML Applications In this chapter we’ll be looking at some examples
    发表于 10-07 14:23 13次下载

    Microsoft Core XML Services (M

    MSXML 6.0 (MSXML6) 提高了可靠性、安全性、与 XML 1.0 和 XML Schema 1.0 W3C 建议的符合性以及与 System.Xml 2.0 的兼容性。 Microsoft Core
    发表于 02-12 08:38 9次下载

    基于XML的数据仓库概念模型设计

    随着XML 已经成为半结构化数据交换的标准,以XML 作为数据源进行数据仓库的设计已逐渐流行。本文提出了一种基于XML 的数据仓库概念建模设计方法,以XML Schema定义的
    发表于 12-18 17:04 13次下载

    MTK自带的XML解析

    现在大多数软件都用xml作为配置文件,MTK本身也带了XML文件的解析,在此我不评说自带XML的解析效率
    发表于 08-31 16:00 0次下载

    XML数据相似度研究

    XML 数据的大量出现为信息检索数据挖掘智能信息处理提供了机遇和挑战而相似度计算是XML 文档检索挖掘和深层次智能处理的基础对相似度计算进行研究具有非常重要的意义在对XML 数据
    发表于 06-28 15:21 0次下载
    <b class='flag-5'>XML</b>数据相似度研究

    基于节点集的XML查询

    随着XML应用的日益广泛,XML数据管理和查询问题也引起了人们的普遍关注,并成为研究的热点。尽管XML有其各种不同的表示和用途,但其本质仍然是基于层次的数据结构,并可映射为相应的XML
    发表于 12-20 09:35 0次下载
    基于节点集的<b class='flag-5'>XML</b>查询

    XML基础——XML必须知道的入门知识

    XML(Extensible Markup Language) 即可扩展标记语言。XML是Internet环境中跨平台的、依赖于内容的技术,是当前处理结构化文档信息的有力工具
    的头像 发表于 06-22 15:12 2175次阅读
    <b class='flag-5'>XML</b>基础——<b class='flag-5'>XML</b>必须知道的入门知识

    鸿蒙OS开发-(用xml写查询语句+xml使用)

    在C#中我们常用来当做一个小型的数据库来使用,我们可以将信息保存在XML文档中,或者从XML文档中获取数据。这样就必须使用到XML文档的数据读取。
    的头像 发表于 01-26 17:51 623次阅读