Java web xml文件读取解析方式
其实解析xml文件有四种方式:DOM,JDOM,DOM4J,SAX。
我们来说与平台无关的两种官方解析方式:DOM 和 SAX
一、DOM 解析
在 Java 代码中,xml 文件是标记型文档,这时用 dom 来解析 xml 文件 dom 会根据 html 的层级结构在内存中分配一个树形结构,把html的标签,属性和文本都封装成对象
DOM 解析步骤:
1、使用 newInstance 方法,创建一个 DocumentBuilderFactory 的对象。
2、创建一个 DocumentBuilde r对象,通过 DocumentBuilder 的对象的 parse[]
方法加载 xml 文件到当前项目下,如:
DocumentBuilder db=dbf.newDocumentBuilder();
Document document=db.parse(uri);
3、获取 xml 文件
NodeList booklist = document.getElementsByTagName(节点名称);
4、用foreach方法进行遍历
5、解析子节点
NodeList childnode=book.getChildNodes();可用childnode.item(k).getNodeType()==Node.ELEMENT_NODE这个方法进行判断以区分text类型的node以及element类型的node。
DOM 解析的优点:可以很方便实现增删改的功能
缺点:如果文件过大,造成内存溢出
二、SAX 解析
在 Java 中,SAX 解析采用事件驱动,边读边解析,从上到下,一行一行的解析,解析到某一个对象,返回对象名称。而且当SAX解析结束,不会保存任何XML文档的数据。
SAX 解析步骤:
1、创建一个 SAXParserFactory 对象。
SAXParserFactory factory = SAXParserFactory.newInstance();
2、创建一个 SAXParser 对象通过 parse 方法加载 xml 文件。
SAXParser parser = factory.newSAXParser();
这时与DOM的区别是这里需要一个 handler,此时需要创建一个 handler 类。
3、handler 类需要继承 DefaultHandler。
SAX 解析的优点:如果文件过大,不会造成内存溢出,方便实现查询操作;
缺点:不能实现增删改操作;
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
- xml文件读取的4种解析方式(DOM和SAX)
- 利用Dom,Sax,Pull三种方式解析xml文件
- android 解析xml文件的三种方式
- Java解析XML文件的四种方式之DOM解析
- python语言解析xml文件的常用的有两种方式
- JAVA SAX 方式解析XML文件
- sax方式解析xml文件
- XML文件的几种解析方式
- 在iOS 开发中用GDataXML(DOM方式)解析xml文件
- Dom与Pull方式解析XML文件
- 安卓解析XML文件系列1:使用SAX方式
- Java之DOM4J方式解析XML文件(学习笔记)
- VC++中XML文件的解析读取写入
- Cocos2d-x 深入解析系列 : 以XML文件方式保存用户数据--------------cocos2d-x3.0正式版本(7.13)
- Android中使用PULL方式解析XML文件
- 学习笔记-Java中的xml文件读取之DOM4J解析
- android解析xml文件的方式(其一DOM方式)
- Android中使用SAX方式解析XML文件
- java读取XML文件的两种方式
- Android中使用PULL方式解析XML文件