dom4j解析器
- 1)CRUD的含义:CreateReadUpdateDelete增删查改
- 2)XML解析器有二类,分别是DOM和SAX。
- a)DOM一次性将整个XML文件读到内存,形成一个倒状的树形结构
- b)SAX多次将整个XML文件读到内存
- c)Document对象代表XML文件在内存中的映像
-
3)常用的API如下: SAXReader saxReader = new SAXReader(); SAXReader是dom4j的核心类 Document document = saxReader.read("*.xml") Document.getRootElement() Element.getName() Element.elements():取得该元素下的所有直接子元素 Element.elementText():从一个元素导航到另一个元素且取出该元素的文本 Element.element("车牌") :从一个元素导航到另一个元素 Element.attributeValue("出产时间"):取得一个元素对应的属性 Element.addElement("单价").setText("40"):添加新元素,同时设置该元素文本的值 OutputFormat format = OutputFormat.createPrettyPrint():使用缩格形式写XML文件 XMLWriter xmlWriter = new XMLWriter(os,format):构造XML写入器 xmlWriter.write(document):将内存中的document对象写入硬盘 firstCarElement.remove(firstCarPriceElement):从直接父元素删除直接子元素 //firstCarPriceElement.getParent().remove(firstCarPriceElement):从直接父元素删除直接子元素 car.xml `<?xml version="1.0" encoding="UTF-8"?> <车辆清单> <汽车> <车牌 出产时间="2010年">奥迪</车牌> <产地>北京</产地> <单价>30</单价> </汽车> <汽车> <车牌 出产时间="2011年">本田</车牌> <产地>广州</产地> <单价>60</单价> </汽车> </车辆清单>
` 读取:
package day2.domx;
import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
//使用dom4j解析xml文件
public class Dome1 {
public static void main(String[] args) throws Exception {
//创建dom4j解析器
SAXReader saxReader = new SAXReader();
//加载需要解析的xml文件
Document document = saxReader.read(new File("src/day2/domx/car.xml"));
//取得根元素
Element rootElement = document.getRootElement();
//显示根元素的名称
System.out.println(rootElement.getName());
//取得根元素下的子元素
List<Element> elementList = rootElement.elements();
System.out.println("共有" + elementList.size()+"辆车");
for(Element e:elementList)
{
System.out.println("车牌:" + e.elementText("车牌"));
System.out.println("产地:" + e.elementText("产地"));
System.out.println("出产时间:" + e.element("车牌").attributeValue("出产时间"));
System.out.println("------------------------------");
}
}
}
结果: 车辆清单 共有2辆车 车牌:奥迪 产地:北京 出产时间:2010年
车牌:本田产地:广州出产时间:2011年 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|