完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>
标签 > XML
可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。
可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。1998年2月,W3C正式批准了可扩展标记语言的标准定义,可扩展标记语言可以对文档和数据进行结构化处理,从而能够在部门、客户和供应商之间进行交换,实现动态内容生成,企业集成和应用开发。可扩展标记语言可以使我们能够更准确的搜索,更方便的传送软件组件,更好的描述一些事物。例如电子商务交易等。它被设计用来传输和存储数据; 超文本标记语言被设计用来显示数据。它们都是标准通用标记语言的子集。
可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。1998年2月,W3C正式批准了可扩展标记语言的标准定义,可扩展标记语言可以对文档和数据进行结构化处理,从而能够在部门、客户和供应商之间进行交换,实现动态内容生成,企业集成和应用开发。可扩展标记语言可以使我们能够更准确的搜索,更方便的传送软件组件,更好的描述一些事物。例如电子商务交易等。它被设计用来传输和存储数据;[1] 超文本标记语言被设计用来显示数据。它们都是标准通用标记语言的子集。
一、什么是可扩展标记语言?
可扩展标记语言是一种很像超文本标记语言的标记语言。
它的设计宗旨是传输数据,而不是显示数据。
它的标签没有被预定义。您需要自行定义标签。
它被设计为具有自我描述性。
它是W3C的推荐标准。
二、可扩展标记语言和超文本标记语言之间的差异
它不是超文本标记语言的替代。它是对超文本标记语言的补充。它和超文本标记语言为不同的目的而设计:
它被设计用来传输和存储数据,其焦点是数据的内容。
超文本标记语言被设计用来显示数据,其焦点是数据的外观。
超文本标记语言旨在显示信息,而它旨在传输信息。对它最好的描述是:它是独立于软件和硬件的信息传输工具。
三、可扩展标记语言是W3C的推荐标准
XML 于 1998 年 2 月 10 日成为 W3C 的推荐标准。
四、可扩展标记语言无所不在
超文本标记语言。XML 是各种应用程序之间进行数据传输的最常用的工具。
格式特性
它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,它仅仅是存储数据。事实上它与其他数据表现形式最大的不同是:它极其简单,这是一个看上去有点琐细的优点,但正是这点使它与众不同。
它和超文本标记语言语法区别:超文本标记语言的标记不是所有的都需要成对出现,它则要求所有的标记必须成对出现;HTML标记不区分大小写,它则大小敏感,即区分大小写。
结合
标准通用标记语言、超文本标记语言是它的先驱。标准通用标记语言它是国际上定义电子文件结构和内容描述的标准,是一种非常复杂的文档的结构,主要用于大量高度结构化数据的防卫区和其他各种工业领域,利于分类和索引。同它相比,定义的功能很强大,缺点是它不适用于Web数据描述,而且标准通用标记语言软件价格非常昂贵。 HTML相信大家都比较熟悉,即超文本标识语言,它的优点是比较适合web页面的开发。但它有一个缺点是标记相对少,只有固定的标记集如《p》。《strong》等。缺少标准通用标记语言的柔性和适应性。不能支持特定领域的标记语言,如对数学、化学、音乐等领域的表示支持较少。举个例子来说,开发者很难在网页上表示数学公式、化学分子式和乐谱。它结合了标准通用标记语言和HTML的优点并消除其缺点。XML仍然被认为是一种标准通用标记语言。比标准通用标记语言要简单,但能实现标准通用标记语言的大部分的功能。1996年的夏天,标准通用标记语言,使其在Web中,既能利用标准通用标记语言的长处,又保留html的简单性。
XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows, Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析它,并以XML格式输出结果。
友好
为了使得标准通用标记语言显得用户友好,它重新定义了标准通用标记语言的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得标准通用标记语言在设计网站时显得复杂化。它保留了标准通用标记语言的结构化功能,这样就使得网站设计者可以定义自己的文档类型,它同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。
语法
可以在可扩展标记语言文件的内容包括几乎所有的万国码Unicode字符(以下例子使用本条例,以《?开头的文档序言部分标记不能使用此条例),元素和属性的名称也可以由非ascii字符组成。
标准通用标记语言常用来定义针对HTML的文档类型定义(DTD),同时它也常用于编写XML的DTD。标准通用标记语言的问题就在于它允许出现一些奇怪的语法,这让创建HTML的解析器成为一个大难题:
某些起始标签可以选择性出现结束标签或者隐含了结束标签。
某些起始标签要求必须出现结束标签,例如HTML中《script》“脚本”标签。
标签可以以任何顺序嵌套。即使结束标签不按照起始标签的逆序出现也是允许的,例如,This is asamplestring是正确的。
某些特性要求必须包含值,例如《图片 源=“百度百科.jpg”》中的源特性。
某些特性不要求一定有值,例如中的“不换行”(外语:nowrap)特性。
定义特性的两边有没有加上双引号都是可以的,所以都是允许的。
1
2《百度百科
词条=“可扩展标记语言”》
1《!--和--》
1
2《百度百科
词条=可扩展标记语言》
这些问题使建立一个标准通用标记语言的解析器变成了一项艰巨的任务,判断何时应用以上规则的困难导致了标准通用标记语言语言的定义一直停滞不前,以这些问题作为出发点,XML逐渐步入我们的视野。XML去掉了之前令许多开发人员头疼的标准通用标记语言的随意语法。在XML中,采用了如下的语法:一、任何的起始标签都必须有一个结束标签。二、可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。这种语法是在大于符号之前紧跟一个斜线(/),例如《百度百科词条/》。XML解析器会将其翻译成《百度百科词条》《/百度百科词条》。三、标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签,例如这是一串百度百科中的样例字符串。这好比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是不能关闭外面的括号的。四、所有的特性都必须有值。五、所有的特性都必须在值的周围加上双引号。这些规则使得开发一个XML解析器要简便得多,而且也除去了解析标准通用标记语言中花在判断何时何地应用那些奇怪语法规则上的工作。仅仅在XML出现后的前六年就衍生出多种不同的语言,包括MathML、SVG、RDF、RSS、SOAP、XSLT、XSL-FO,而同时也将HTML改进为XHTML。
为什么XML这么笨重的数据结构仍在广泛应用
JSON还没有类似于XPath的成熟技术作支撑,在处理海量数据时将会是一场炼狱之旅。
XML是面向机器的数据格式,虽然手工编写困难,但处理效率高。
反观JSON,手写很快,但要规范处理则不容易,特别是取得某个指定位置的数据,需要写一堆的代码,而不能向XPath这类引擎借力,在代码维护上就有相当高的成本。
机器的边际成本永远是廉价的,而人力则会越来越贵。
XPath已经标准化:XML Path Language (XPath)。
JSON方面了解不多,还没有看到标准化的数据抽取引擎,可以看看这个:JSONiq - The JSON Query Language。
EtherCAT从站开发避坑指南:30分钟搞定ESI XML(下)
我们详解了EtherCAT从站信息文件ESIXML,介绍其定义、结构及与硬件SII的对应关系,这期我们继续讲解核心节点与PDO过程数据,帮助大家理解主站...
EtherCAT从站开发避坑指南:30分钟搞定ESI XML(上)
将分两期详解EtherCAT从站信息文件ESIXML,介绍其定义、结构及与硬件SII的对应关系,讲解核心节点与PDO过程数据,帮助理解主站识别、配置从站...
OpenHarmony语言基础类库【@ohos.xml (xml解析与生成)】
将XML文本转换为JavaScript对象、以及XML文件生成和解析的一系列接口。
SVG(可缩放矢量图形)是一种用于显示图形的XML格式,它对于Web开发者来说是一个非常重要的技术。SVG提供了一种可伸缩的、可互动的图像格式,它可以在...
【JAVA UI】【HarmonyOS】【Demo】 鸿蒙如何进行 xml 解析
【鸿蒙】鸿蒙如何进行数据解析 【问题描述】有时候我们从服务器获取是 xml 格式数据,我们需要将 xml 转化成 model 对象,该如何使用呢?下面举...
一、XML 解析 对于以 XML 作为载体传递的数据,实际使用中需要对相关的节点进行解析,一般包括解析 XML 标签和标签值、解析 XML 属性和属性值...
一、XML 概述 XML(可扩展标记语言)是一种用于描述数据的标记语言,旨在提供一种通用的方式来传输和存储数据,特别是 Web 应用程序中经常使用的数据...
NETCONF(Network Configuration Protocol)是一种基于XML的网络管理协议,提供了一套管理网络设备的机制。用户可以使用...
译文分享:XimpleWare诉Versata Software等一审判决(2014)
在XimpleWare与Versata之间的开源软件专利诉讼案中,法院裁定根据GPLv2.0条款,涉案客户被告的使用行为不构成侵权,只有分发行为才需要满...
Keil项目/生成的各种文件类型(.AXF、.D、.crf、.exf)说明
.UVMPW:用于多个项目的 μVision4 项目文件(工作空间项目文件)。包含对其他项目文件的引用,并将它们绑定到一个项目中。当多个项目分组到一个项...
遵循食谱(如烘烤 cookie)是确保设备和系统设置和配置一致性的一种方法,这反过来又减少了引入新的配置错误的可能性,这些错误可能导致攻击者利用不需要的...
分享一种适用于MicrosoftWPF的功能丰富的图表控件(上)
ForceDirectedLayout使用类似于物理力的力来推动和拉动节点。连杆被视为具有特定长度和刚度的弹簧。每个节点都具有排斥其他节点的电荷。
gRPC Google远程过程调用(Google Remote Procedure Call,gRPC)协议是谷歌发布的高性能、通用的开源RPC软件框架...
编辑推荐厂商产品技术软件/工具OS/语言教程专题
| 电机控制 | DSP | 氮化镓 | 功率放大器 | ChatGPT | 自动驾驶 | TI | 瑞萨电子 |
| BLDC | PLC | 碳化硅 | 二极管 | OpenAI | 元宇宙 | 安森美 | ADI |
| 无刷电机 | FOC | IGBT | 逆变器 | 文心一言 | 5G | 英飞凌 | 罗姆 |
| 直流电机 | PID | MOSFET | 传感器 | 人工智能 | 物联网 | NXP | 赛灵思 |
| 步进电机 | SPWM | 充电桩 | IPM | 机器视觉 | 无人机 | 三菱电机 | ST |
| 伺服电机 | SVPWM | 光伏发电 | UPS | AR | 智能电网 | 国民技术 | Microchip |
| 开关电源 | 步进电机 | 无线充电 | LabVIEW | EMC | PLC | OLED | 单片机 |
| 5G | m2m | DSP | MCU | ASIC | CPU | ROM | DRAM |
| NB-IoT | LoRa | Zigbee | NFC | 蓝牙 | RFID | Wi-Fi | SIGFOX |
| Type-C | USB | 以太网 | 仿真器 | RISC | RAM | 寄存器 | GPU |
| 语音识别 | 万用表 | CPLD | 耦合 | 电路仿真 | 电容滤波 | 保护电路 | 看门狗 |
| CAN | CSI | DSI | DVI | Ethernet | HDMI | I2C | RS-485 |
| SDI | nas | DMA | HomeKit | 阈值电压 | UART | 机器学习 | TensorFlow |
| Arduino | BeagleBone | 树莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
| 示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
| OrCAD | Cadence | AutoCAD | 华秋DFM | Keil | MATLAB | MPLAB | Quartus |
| C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
| Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
| DuerOS | Brillo | Windows11 | HarmonyOS |