使用DOM解析XML文档精品PPT课件
- 格式:ppt
- 大小:1.19 MB
- 文档页数:25


dom4j解析XML
⼀、嵌套多层
0
24234
2014-3-20 0:00:00
0.00
43.00
1
4243
54.00
301003221008213841
2015-3-20 0:00:00
2342342
966
01319
2003Q2106441
270510000022
0203
2
运输有限公司
270510000022
41234
0
缺1
01
2003-12-10 0:00:00
交长苏XK1726
0.00
⽆锡
3225
造船⼚
97.00
54.00
000
0.00
150.00
0
0
0.00
1
134.00
1
28.60
6.18
2.00
1
0159
53822
2012-04-16 00:00:00
2015-08-28 00:00:00
2018-08-27 00:00:00
2015-8-28 16:47:52
运输管理局
6872b6ce14b042da8127ba6fde4ddb97
300704281011306626
普通货船运输
普通货船运输
0102010201
3265100 1
10
6.18
2.00
0
0
341
0.00
122.00
2
1111
231312
2015-8-28 0:00:00
54.00
300302191055102943
21111
太湖
08028
211155364273
2123
0101
1
游游船公司
2123
1111
22222
0
缺
01
1980-4-1 0:00:00
K0745号
0.00
2015-8-28 0:00:00
⽆锡
3225
船⼚
153.00
31.00
FJKAK
3.00
0.00
0.00
0
130
0.00
2
182.20
0
0.00
0.00
0.00
0
0208003
使⽤DOM4J解析XML⽂档
使⽤DOM4J时,需要,导⼊专⽤的jar包才可以使⽤------------------------
DOM4J也是⽬前⽐较流⾏的⽐较常⽤的解析XML⽂档的⼀种⽅式.
package ParseXML;
import java.util.Iterator;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
/**
* DOM4J的使⽤.
* @author ⼩王同学.
* 简述:
* DOM4J是⼀个java XML API 是,JDOM的升级品,⽤来读写XML⽂件.
*
*
*/
public class TestDOM4J {
public static void main(String[] args) throws Exception {
//1.创建SAXReader对象
SAXReader sr =new SAXReader();
//2.调⽤read⽅法
Document doc = sr.read("book.xml");
//3.获取跟元素
Element element= doc.getRootElement();
//4.通过迭代器遍历直接节点
//System.out.println(element.getName());
for(Iterator it = element.elementIterator();it.hasNext();){
Element node = it.next();
for(Iterator it2= node.attributeIterator();it2.hasNext();){
XML.03-DOM和SAX解析
解析xml常⽤的有两种⽅式,DMO和SAX
DOM和SAX的区别:DOM: 在内存中⽣成树桩结构优点是可以⽀持增删改查各种操作
缺点在于,如果⽂档过⼤的时候,可能会产⽣内存溢出的风险SAX:
基于事件驱动,边读边解析
优点:占⽤内存⼩
缺点,不⽀持增删改操作.(DOM4J会在内存中⽣成树状结构,虽然是SAX⽅式解析…)
XML的DOM解析
xml的DOM解析,主要会⽤到两个包中的类
javax.xml.parsers :⽤来解析
javax.xml.transform:⽤来回写
解析
public static Document getDocument(String src) throws Exception{
//获取⼯⼚类
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//获取解析器
DocumentBuilder builder = factory.newDocumentBuilder();
//返回Document(org.w3c.dom.Document)
return builder.parse(src);
}
处理
在拿到document之后,就可以想⼲哈就⼲哈了.
在元素末尾增加⼀个⼦元素
/**
* DOM⼤法之--在元素末尾增加⼀个元素
* @throws Exception
*/
public static void addElementTest() throws Exception{
//解析
Document document = JaxpDomUtils.getDocument("src/book.xml");
//处理
NodeList nodeList = document.getElementsByTagName("书");
Node book2 = nodeList.item(1);
dom4j解析XML的基本用法
dom4j解析XML的基本用法
1. 需要的包:dom4j-1.4/dom4j.jar
2. 用到的类:import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
3. 基本操作:
创建文档: Document document =
DocumentHelper.createDocument();
创建根节点:Element catalogElement =
document.addElement("catalog");
添加注释: catalogElement.addComment("注释");
处理指令:
catalogElement.addProcessingInstruction("target","text");
增加子节点:Element journalElement =
catalogElement.addElement("journal");
给节点添加属性:journalElement.addAttribute("title", "值");
设置节点中的文本:journalElement.setText("值");
添加文档类型:document.addDocType("catalog",
null,"file://c:/Dtds/catalog.dtd ");
创建 xml 文件:
XMLWriter output = new XMLWriter(
new FileWriter( new File("c:/catalog/catalog.xml") ));