xml文件读取的4种解析方式(DOM和SAX)
2016-07-30 16:09
309 查看
初学xml文件的解析方式,由四种:DOM,JDOM,DOM4J,SAX。
其中DOM和SAX这两种解析方式是与平台无关的官方解析方式。
DOM解析方式形成树形结构,容易对内容进行修改。
DOM解析方式的步骤:
1、创建一个DocumentBuilderFactory的对象,使用newInstance方法。
2、创建一个DocumentBuilder对象,通过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。
SAX适用于只需要处理xml文件中的数据,是基于事件的驱动。
SAX解析方式的步骤:
1、创建一个SAXParserFactory对象。
SAXParserFactory factory = SAXParserFactory.newInstance();
2、创建一个SAXParser对象
SAXParser parser = factory.newSAXParser();
通过parse方法加载xml文件。
parser.parse(xml文件名, handler);此时与DOM的区别是这里需要一个handler。此时需要创建一个handler类。
3、handler类需要继承 DefaultHandler。
其中在xml声明时触发startDocument()方法。在遇到开始标签时会触发startElement()方法。
解析节点元素时可用startElement()方法中地attributes.getQName(i)和attributes.getValue(i)来获得属性名和属性中。
可在endElement()方法中的set方法将xml的内容和结构存入Java对象中。
其中DOM和SAX这两种解析方式是与平台无关的官方解析方式。
DOM解析方式形成树形结构,容易对内容进行修改。
DOM解析方式的步骤:
1、创建一个DocumentBuilderFactory的对象,使用newInstance方法。
2、创建一个DocumentBuilder对象,通过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。
SAX适用于只需要处理xml文件中的数据,是基于事件的驱动。
SAX解析方式的步骤:
1、创建一个SAXParserFactory对象。
SAXParserFactory factory = SAXParserFactory.newInstance();
2、创建一个SAXParser对象
SAXParser parser = factory.newSAXParser();
通过parse方法加载xml文件。
parser.parse(xml文件名, handler);此时与DOM的区别是这里需要一个handler。此时需要创建一个handler类。
3、handler类需要继承 DefaultHandler。
其中在xml声明时触发startDocument()方法。在遇到开始标签时会触发startElement()方法。
解析节点元素时可用startElement()方法中地attributes.getQName(i)和attributes.getValue(i)来获得属性名和属性中。
可在endElement()方法中的set方法将xml的内容和结构存入Java对象中。
相关文章推荐
- 【Android高级】XMl文件的DOM、SAX、PULL三种解析方式全解
- 解析XML文件的方式:DOM和SAX
- xml---4种解析方式dom,sax,jdom,dom4j
- Dom、Sax、JDOM和Dom4j四种方式解析XML文件小Demo和四种方式的大概比较
- 解析xml文件的三种方式(sax ,dom ,dom4j)
- DOM、SAX、JDOM和DOM4J四种方式解析XML文件性能对比
- 利用Dom,Sax,Pull三种方式解析xml文件
- java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB
- Android之解析XML文件三种方式(DOM,PULL,SAX)
- DOM、SAX、JDOM、DOM4J四种方式解析xml文件
- android-----三种方式(sax、pull、dom)解析xml文件
- 详解Android之解析XML文件三种方式(DOM,PULL,SAX)
- Android 解析XML文件的三种方式 DOM,SAX,PULL
- xml文件的解析解析方式及Dom解析与Sax解析的区别
- Java解析XML文件的DOM和SAX方式
- Java解析XML文件的DOM和SAX方式
- java解析xml的4种方式:1、Dom,2、SAX,3、Jdom,4、dom4j
- 在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX、Pull、Dom解析方式。最近做了一个android版的CSDN阅读器,用到了其中的两种(sax,pull)
- Android 解析XML文件的三种方式 DOM,SAX,PULL
- 在java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB、Dom4J