可扩展标记语言(Extensible Markup Language,简称XML),说白了就是一种用来给电子文件做标记、让它们变得有结构的东西。它既能标记数据,也能定义数据类型,而且允许你根据自己的需求创建专属的标记语言。XML是标准通用标记语言(SGML)的一个子集,特别适合在网络上传输——它提供了一套统一的方法,让不同应用、不同供应商都能交换和描述结构化数据,完全不依赖具体平台。
格式特性
XML和Access、Oracle、SQL Server这些传统数据库不太一样。数据库更擅长做数据存储和分析,比如索引、排序、查找、保持一致性什么的。而XML呢,它主要就是展示数据。其实,XML和其他数据表现形式最大的区别在于——它极其简单。这听起来好像是个小细节,但恰恰是这一点让XML如此与众不同。
再对比一下XML和HTML的设计思路:XML是用来存储数据的,核心是数据本身;而HTML是用来定义数据的,重点是数据的显示模式。XML的简单特性让它能轻松地在任何应用程序里读写数据,这也使得XML很快成了数据交换领域的“通用语言”。虽然不同的应用软件也会支持其他数据交换格式,但用不了多久,它们都会拥抱XML。这意味着,程序可以更方便地把Windows、Mac OS、Linux以及其他平台产生的信息整合在一起,然后轻松地把XML数据加载进来分析,再以XML格式输出结果。
为了让SGML变得更友好,XML重新定义了SGML内部的一些值和参数,砍掉了大量很少用到的功能——那些繁杂的功能让SGML在设计网站时变得异常复杂。XML保留了SGML的结构化能力,这样网站设计者就可以定义自己的文档类型。同时,XML还推出了一种新型文档类型,让开发者不必非得定义文档类型也能用起来。
简单语法
SGML常被用来定义HTML的文档类型定义(DTD),也用于编写XML的DTD。但SGML有个大问题:它允许出现一些奇怪的语法,这让创建HTML解析器成了一件头疼的事。比如:
- 某些起始标签不允许出现结束标签,像HTML中的
,如果带了结束标签就会报错。 - 某些起始标签可以有选择地出现结束标签,或者干脆隐含了结束标签。
- 某些起始标签却要求必须出现结束标签,比如HTML中的
。 - 标签可以以任意顺序嵌套,即使结束标签不按起始标签的逆序出现也是允许的——例如
This is a sample string居然是正确的。 - 某些特性必须包含值,比如
中的
src。 - 某些特性不要求一定有值,比如
中的 nowrap。- 定义特性时,两边加不加双引号都行,所以
和
都是允许的。
这些问题让开发一个SGML解析器变成了一项艰巨的任务。判断什么时候该用哪条规则,这种不确定性直接导致SGML语言的定义一直停滞不前。正是以这些问题为出发点,XML逐渐走进了我们的视野。
XML去掉了那些让开发人员头疼的SGML随意语法,采用了如下规则:
- 任何起始标签都必须有一个结束标签。
- 可以采用一种简化语法,在一个标签里同时表示起始和结束——在大于号之前紧跟一个斜杠(/),例如
。XML解析器会把它翻译成。 - 标签必须按正确的顺序嵌套,结束标签必须按镜像顺序匹配起始标签。这就像数学里的左右括号:没关闭所有内部括号之前,不能关闭外面的括号。
- 所有特性都必须有值。
- 所有特性的值都必须加上双引号。
这些规则让开发一个XML解析器变得简单得多,再也不用花时间判断那些奇怪语法规则该在什么时候用。仅仅在XML出现后的前六年,就衍生出了多种不同的语言,包括MathML、SVG、RDF、RSS、SOAP、XSLT、XSL-FO,同时HTML也被改进成了XHTML。
XML由W3C负责标准化工作,W3C的XML工作组由来自各个地方和行业的专家组成,他们通过邮件交流对XML标准的意见(www.w3.org/TR/WD-xml)。因为XML是一个公共格式,不专属于任何一家公司,所以你完全不用担心它会被少数公司当成盈利工具——它从来就不是某个特定浏览器的附属品。
打开方法
其实,用记事本、EditPlus这类文本工具就能直接打开XML文件。很多用户保存配置文件、网页英语内容,或者手机阅读网站,底层都是基于XML开发的。网页制作相关的数据存储也经常用到它。
说到打开XML文件的方法和软件,最简单的就是用Excel表格打开了。也可以用Netscape 6来打开XML文档,右键选择“查看源文件”就能看到源码。当用Netscape 6打开XML文档后,浏览器会用带颜色代码的方式显示根元素和子元素。
如何在 Excel 中打开文件
在Excel中打开XML文件时,系统会提示你选择一种导入方式:作为XML列表、作为只读工作簿,或者使用“XML源”任务窗格。
作为XML列表打开文件
打开XML源时,Excel会查找XML样式表(XSL)的标记——XSL说明了数据的显示方式。如果存在相应的标记,Excel会提示你是否应用样式表。如果选择应用,XSL就会指示数据的显示方式。如果没有XSL标记,你会收到一条消息:“指定的XML源没有引用架构。Excel将基于XML源数据创建架构。”然后Excel会导入XML源中的数据。如果XML数据在一个元素内包含重复的字段,Excel会把数据分布到多个行上,每一行都包含一个唯一的数据集。这可能导致XML中的小数据集在Excel里显示成很多行。作为只读工作簿打开文件
如果选择只读方式打开,元素的第一个标记会被用作标题,放入单元格A1中。其余的标记按字母顺序排序,放入第二行。以天气报告示例为例,数据会排列成下面的列标题列表:/area/city、/area/country、/area/region、/area/state、/date、/measurements/h-index、/measurements/humidity、/measurements/skies、/measurements/temperature、/measurements/uv-index、/measurements/visibility、/measurements/wind/direction、/measurements/wind/windspeed、/time。如果只有一个数据集,每列的数据会放在电子表格的第三行。同样,重复字段会导致数据分布到多个行。使用“XML源”任务窗格
XML数据文件的架构会显示在“XML源”任务窗格中,然后你可以把架构元素拖到工作表上,将这些元素映射到工作表。如果打开的是未引用架构的XML数据文件,Excel会自己推断出XML数据文件的架构。本文转载于:https://www.jb51.net/article/29760.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。同类商品
- 定义特性时,两边加不加双引号都行,所以