xml文件为什么需要解析?就是为了检查xml文件是否有结构上的错误,剥离xml文件中的标记,读出正确的内容,以交给下一步的应用程序的处理,xml是一种
用来结构化文件信息的标记语言,xml规范中对于如何标记文件的结构性有一个详细的法则,解析器就是根据这些法则写出来的软件。同html一样,在浏览器中,必须
有html的解析器,这样浏览器才能够“读懂”各种用html标记所组成的网页,将它们显示在我们面前。如果有浏览器的html解析器读不懂的标记,将会返回给我们错误信息。
由于现在的html标记实际上相当混乱,存在大量不规范的标记(有的网页用ie能正常显示,而用其他的则不行),所以从一开始,xml的设计者就严格规定了xml的
语法和结构,我们编写的xml文件必须遵循这些规定,否则xml解析器将毫不留情地给你显示错误信息。
在JAVA语言中解析xml文档的几种方式:
1.使用DOM进行解析
2.使用SAX进行解析
3.使用DOM4j进行解析
什么是DOM?
DOM是Document object Model 的英文缩写,也就是文档对象模型的意思;DOM是一组java接口,用于创建、访问、和操作XML的内部结构
DOM的特点:
先要把解析的文档加载到内存中,将文档分成对象结构,缺点就是一旦文档过大就会造成内存紧张。
DOM的用法:
先获得一个工厂对象:DocumentBuilderFactory dbf = DocumentBuilderFactory.new Instance;
创建解析:DocumentBuilder db = dbf.newDocumentBuilder();
再用这个类的具体方法进行解析
在用DocumentBuilder实例创建Document实例:db.Document();
什么是SAX?
SAX是Simple API for XML的缩写,SAX文档解析方式是xml开源社区维护的xml文档解析接口;SAX是以流的方式读取XMl的内容,
从文件开头读一部分,解析,继续读,不需要太大内存。
使用DOM4J来解析XML文档
DOM4j是一个非常优秀的javaXML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,越来越多的java软件
都在使用DOM4J来读写XML;
DOM4j获取domcument对象的四种方式