XML与DOM
html是从xml中发展出来的,相当于xml的一个子派系
XML用途:
XML指可扩展标记语言(EXtensible Markup language),是独立与软件和硬件
的信息传输工具
XML应用于web开发的许多方面,常用于简化数据的存储与共享
XML简化数据共享
XML监护数据传输
XML简化平台的变更
基本语法:
XML处理指令:
XML处理指令,简称PI(processing instruction ).处理指令用来指挥解析引擎如何解析
XML文档内容
<?xml version="1.0" encoding = "utf-8" ?>
在xml中,所有的处理指令收拾<?开始, ?>结束. <?后面紧跟的是处理指令的名称.xml处理指令
要求指定一个version属性,并允许指定可选的standalone和encoding,其中standalone是指是否允许
使用外部声明,可设置为yes 或者no, yes是指定不使用外部声明,no为使用,encoding 是指作者使用
的字符编码格式,例如utf-8;
元素和属性:
xml文档包含xml元素
xml元素指的是从(且包括)开始标签直到(且包括)结束标签的部分
元素可包含其他元素,文本或者两者的混合物,元素也可以拥有属性
大小写敏感
xml对大小写是敏感的,这一点不像html,在xml中,标记<letter>和<Letter>是不一样.
因此,起始和结束标记的大消息应该写成相同的
必须有根元素:
xml要求必须有根元素,所谓根元素就是不被其他元素保卫,并且根元素只能有一个
也就是必须只有一个根,只有一棵树,其他所有的都包含在这个里面
必须有开始和结尾成对存在
元素必须正确嵌套
实体引用:
实体可以是常用的短语,,键盘字符,文件,数据库记录或任何包含数据的项,在xml中,有时实体内
包含一些字符,如 & < > " ' 等.这些均需要对其进行转义,否则会会xml解释器生成错误
SAX解析方式:
SAX(simple API for XML )是一种XML解析的替代方法,相对于DOM,SAX是一种速度更快,更有效的方法
它逐行扫描文档,一边扫描,一边解析,而且相比与DOM,SAX可以在解析文档的任意时刻停止解析
优点: 解析可以立即开始,速度快,没有内存压力
缺点:不能对节点做修改
DOM解析方式:
DOM(Document Object Model,即文档对象模型)是W3C组织推荐的处理XML的一种方式
DOM解析器在解析xml文档时,会把文档中的所有对象按照其出现的层次关系,解析成一个Node对象(节点)
优点:把xml文件在内容中构造树形结构,可以遍历和修改节点
缺点:如果文件比较大,内存有压力,解析的时间会比较长
SAXReader读取XML文档
使用SAXReader需要导入dom4j-full.jar包
dom4j是一个Java的xml api,类似于jdom,用来读写xml文件的,dom4j是一个非常优秀的java XML API,
具有性能优异,功能强大和易用的特点,同时它还是一个开放源代码的软件
创建SAXReader来读取XML文档
DOM解析以及导包