概要:学习xml文件的相关知识,什么是xml文件?xml的语法格式?xml的特点?Qt如何解析xml文件?
什么是XML文件?
xml文件字面理解是后缀为.xml格式的文件。这样理解肯定是不对的。
xml是一种可扩展的文本标记语言,是一种允许用户对自己的标记语言进行定义的源语言,是一种数据交换语言。
那么其实正确的理解是,用xml语法编写的文件,才能被称为xml文件。
XML的语法格式是怎样的?
先上一段xml格式的文本,如下所示:
<?xml version='1.0' encoding='utf-8'?>
<DataBase>
<host>127.0.0.1</host>
<port name = "端口">3306</port>
<dbName>keshihua</dbName>
<userName>root</userName>
<password>root</password>
<!-- 注释 -->
</DataBase>
其中第一行是xml文件声明(必要)
<?xml version='1.0' encoding='utf-8'?>*
第二行是根元素,每个xml文件中有且只有一个根元素,元素名要用尖括号包起来
<DataBase>
</DataBase>
根元素包含的是它的子元素
<DataBase>
<host>...</host>
</DataBase>
子元素包含的是它的文本内容
<host>127.0.0.1</host>
元素可以有它们自己的属性,name就是元素port的属性,端口是port的name属性值。
<port name = "端口">3306</port>
xml注释的格式继承html
<!-- 注释 -->
XML的特点?
(1) XML可以从HTML中分离数据。
(2) XML可用于交换数据。
(3) XML可应用于B2B中。
(4)利用XML可以共享数据。
(5) XML可以充分利用数据。
(6) XML可以用于创建新的语言。
XML文件的使用场景有哪些?
(1)数据交换
用XML在应用程序和公司之间作数据交换已不是什么秘密了,毫无疑问应被列为第一位。那么为什么XML在这个领域里的地位这么重要呢?原因就是XML使用元素和属性来描述数据。在数据传送过程中,XML始终保留了诸如父/子关系这样的数据结构。几个应用程序可以共享和解析同一个XML文件,不必使用传统的字符串解析或拆解过程。
相反,普通文件不对每个数据段做描述(除了在头文件中),也不保留数据关系结构。使用XML做数据交换可以使应用程序更具有弹性,因为可以用位置(与普通文件一样)或用元素名(从数据库)来存取XML数据。
(2)Web服务
Web服务是最令人激动的革命之一,它让使用不同系统和不同编程语言的人们能够相互交流和分享数据。其基础在于Web服务器用XML在系统之间交换数据。交换数据通常用XML标记,能使协议取得规范一致,比如在简单对象处理协议(Simple Object Access Protocol, SOAP)平台上。
SOAP可以在用不同编程语言构造的对象之间传递消息。这意味着一个C#对象能够与一个Java对象进行通讯。这种通讯甚至可以发生在运行于不同操作系统上的对象之间。DCOM, CORBA或Java RMI只能在紧密耦合的对象之间传递消息,SOAP则可在松耦合对象之间传递消息。
(3)内容管理
XML只用元素和属性来描述数据,而不提供数据的显示方法。这样,XML就提供了一个优秀的方法来标记独立于平台和语言的内容。
使用象XSLT这样的语言能够轻易地将XML文件转换成各种格式文件,比如HTML, WML, PDF, flat file, EDI, 等等。XML具有的能够运行于不同系统平台之间和转换成不同格式目标文件的能力使得它成为内容管理应用系统中的优秀选择。
(4)Web集成
现在有越来越多的设备也支持XML了。使得Web开发商可以在个人电子助理和浏览器之间用XML来传递数据。
为什么将XML文本直接送进这样的设备去呢?这样作的目的是让用户更多地自己掌握数据显示方式,更能体验到实践的快乐。常规的客户/服务(C/S)方式为了获得数据排序或更换显示格式,必须向服务器发出申请;而XML则可以直接处理数据,不必经过向服务器申请查询-返回结果这样的双向“旅程”,同时在设备也不需要配制数据库。
甚至还可以对设备上的XML文件进行修改并将结果返回给服务器。想像一下,一台具有互联网功能并支持XML的电冰箱将会给市场带来多么大的冲击吧。你从此不必早起去取牛奶了!
(5)配制
许多应用都将配制数据存储在各种文件里,比如.INI文件。虽然这样的文件格式已经使用多年并一直很好用,但是XML还是以更为优秀的方式为应用程序标记配制数据。使用.NET里的类,如XmlDocument和XmlTextReader,将配制数据标记为XML格式,能使其更具可读性,并能方便地集成到应用系统中去。使用XML配制文件的应用程序能够方便地处理所需数据,不用象其他应用那样要经过重新编译才能修改和维护应用系统。
结尾:本期主要介绍xml文件和xml格式,下期学习如何在Qt中解析XML文件:)