1、 基本概念:
<?xml version=”1.0” encoding=”GB2312”?>
<!--This is a XML-->
<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
XML声明:版本号、所使用的编码格式
注释:格式<!--注释内容-->
节点、根节点、子节点
节点是根据DOM树结构来讲的,每个分支都有节点,而节点根据在树上的位置分为根节点和子节点。
根据 DOM,XML 文档中的每个成分都是一个节点。
DOM 是这样规定的:
•整个文档是一个文档节点
•每个 XML 标签是一个元素节点
•包含在 XML 元素中的文本是文本节点
•每一个 XML 属性是一个属性节点
•注释属于注释节点
根元素、子元素
根元素:所有其他元素的父元素。该元素称为根元素。如<person>为根元素
子元素:除了根元素,其下的<firstname><lastname>等为根元素的子元素
元素、属性
元素指的是从(且包括)开始标签直到(且包括)结束标签的部分,元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。
属性(Attribute) 提供关于元素的额外(附加)信息,<bookcategory="CHILDREN">中category为book元素的属性
2、优势
XML 简化数据共享
在真实的世界中,计算机系统和数据使用不兼容的格式来存储数据。XML 数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法。这让创建不同应用程序可以共享的数据变得更加容易。
XML 简化数据传输
通过 XML,可以在不兼容的系统之间轻松地交换数据。对开发人员来说,其中一项最费时的挑战一直是在因特网上的不兼容系统之间交换数据。由于可以通过各种不兼容的应用程序来读取数据,以 XML 交换数据降低了这种复杂性。
XML 简化平台的变更
升级到新的系统(硬件或软件平台),总是非常费时的。必须转换大量的数据,不兼容的数据经常会丢失。XML 数据以文本格式存储。这使得XML 在不损失数据的情况下,更容易扩展或升级到新的操作系统、新应用程序或新的浏览器。
2、 XML解析器
XML解析器有很多种,如DOM(JAXP Crimson解析器)、SAX、JDOM、DOM4J等。各种解析器的特点和优势详见:http://wenku.baidu.com/view/1df0ab8102d276a200292ec1.html
XML DOM (XML Document Object Model) 定义了访问和操作 XML 文档的标准方法,XML解析器能够把XML载入内存,然后将之转化为可通过javascript等语言访问的对象。
参考内容:http://www.w3school.com.cn/xmldom/dom_summary.asp
更多的开源解析器参考:http://www.oschina.net/p/tinyxml
3、 XML对象访问方式:
对XML的开发,其使用语言丰富,有脚本语言如javascript、perl等,也有常用语言java、C/C++、C#等。在嵌入式系统中,需要开源的解析器如Libxml,采用Linux C进行开发。而在上层应用软件中,例如MFC中需要安装msxml解析器(下载地址:http://www.onlinedown.net/soft/16288.htm,技术博客:http://blog.163.com/bing_hhh/blog/static/112305391201011177165893/)
在.NET/C#中,可以直接使用框架提供的操作DOM模型的类(在System.XML命名空间中),其对XML的操作最为方便!!
【附注】
1、 验证XML语法:
把XML文件拷贝到该网页的验证框中,点击“验证”来检测语法错误。
http://www.w3school.com.cn/xml/xml_validator.asp
2、在 XML 中,有 5 个预定义的实体引用:
< | < | 小于 |
> | > | 大于 |
& | & | 和号 |
' | ' | 单引号 |
" | " | 引号 |
注释:在 XML 中,只有字符"<" 和 "&" 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。
3、“形式良好”(Well Formed)的 XML 文档会遵守前几章介绍过的 XML 语法规则:
l XML 文档必须有根元素
l XML 文档必须有关闭标签
l XML 标签对大小写敏感
l XML 元素必须被正确的嵌套
l XML 属性必须加引号
4、 XML相关技术
XML的相关技术很多,根据不同的应用需求采用不同的技术:
http://www.w3school.com.cn/xml/xml_technologies.asp