发布于2026-07-22 阅读(0)
扫一扫,手机访问
可扩展标记语言(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解析器成了一件头疼的事。比如:
![]()
,如果带了结束标签就会报错。。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删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。
下一篇:不同浏览器对XML的解析是不同的
产品推荐
-
售后无忧
立即购买>
- DAEMON Tools Lite 10【序列号终身授权 + 中文版 + Win】
-
¥150.00
office旗舰店
-
售后无忧
立即购买>
- DAEMON Tools Ultra 5【序列号终身授权 + 中文版 + Win】
-
¥198.00
office旗舰店
-
售后无忧
立即购买>
- DAEMON Tools Pro 8【序列号终身授权 + 中文版 + Win】
-
¥189.00
office旗舰店
-
售后无忧
立即购买>
- CorelDRAW X8 简体中文【标准版 + Win】
-
¥1788.00
office旗舰店
-
正版软件
- using namespace 使用中遇到的问题怎么解决
- 命名空间的基本概念与常见引入问题在C++等编程语言中,命名空间(namespace)是一种将代码标识符(如变量、函数、类名)封装在特定名称下的机制,其主要目的是避免命名冲突,尤其是在大型项目或使用多个第三方库时。使用“using namespace”指令可以将指定命名空间中的所有名称引入当前作用域,
-
9天前
0
-
正版软件
- c语言函数递归 实操经验总结:这些技巧很实用
- 理解递归的基本原理在C语言中,递归是一种函数调用自身的编程技术。要掌握它,首先需要理解其核心思想:将一个复杂的大问题,分解为一个或几个与原问题相似但规模更小的子问题,直到子问题足够简单,可以直接求解。这个过程通常包含两个关键部分:递归出口和递归体。递归出口定义了问题何时不再继续分解,即最简单、可直接
-
9天前
0
-
正版软件
- c语言函数递归 怎么选?常见方案对比分析
- 递归函数的基本概念与适用场景在C语言编程中,递归是一种函数调用自身的编程技巧。它并非适用于所有问题,但在处理某些具有自相似结构的问题时,能提供极其清晰和优雅的解决方案。递归的核心思想是将一个大规模问题分解为一个或多个同类型但规模更小的子问题,直到子问题简单到可以直接求解。典型的适用场景包括树形结构的
-
9天前
0
-
正版软件
- Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解
- 理解内存管理的基石在Objective-C的编程世界中,内存管理是开发者必须掌握的核心技能之一。它直接关系到应用的性能、稳定性与资源利用效率。与一些采用自动垃圾回收机制的语言不同,Objective-C在很长一段时间里,依赖一套基于引用计数的、需要开发者部分介入的管理规则。这套规则的核心思想是明确的
-
9天前
0
-
正版软件
- 如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏
- 理解 dealloc 的角色与时机在 iOS 应用开发中,内存管理是保障应用性能与稳定性的基石。dealloc 方法是 Objective-C 中对象生命周期结束时的关键回调,它标志着对象即将被系统回收内存。正确理解其触发时机至关重要:当一个对象的引用计数降为零时,运行时系统会自动调用该对象的 de
-
9天前
0
最新发布
-
1
-
2
-
3
- C语言中\n是什么意思?换行转义字符详解
- 342天前
-
4
- 探析Spring Boot框架的优点和特色
- 658天前
-
5
- 深入比较PyCharm社区版和专业版的功能
- 596天前
-
6
- 专家观点:谷歌是否会继续支持Golang的探讨
- 571天前
-
7
-
8
- Python实战教程:批量转换多种音乐格式
- 1204天前
-
9
- 如何在在线答题中实现试卷的自动批改和自动评分
- 1031天前
相关推荐
热门关注
-
- PixPin
- ¥8.00-¥8.00
-
- Total Uninstall
- ¥29.00-¥29.00
-
- 酷呆桌面
- ¥31.50-¥35.00
-
- ByePhotos
- ¥31.50-¥45.00
-
- TTime
- ¥3.00-¥3.00