`
Junjiejkl
  • 浏览: 59493 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

利用DOM4J对XML进行简单的CRUD

阅读更多
package cn.itcast.xml.parser.dom4j;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.junit.Test;

public class Demo2 {
	private Document getDocument() throws Exception{
		SAXReader reader = new SAXReader();
		Document document = reader.read(new File("src/cn/itcast/xml/parser/dom4j/car.xml"));
		return document;
	}
	private void writerToFile(Document document)throws Exception{
		//取得输出格式
		OutputFormat format = OutputFormat.createPrettyPrint();
		//设置XML输出的编码方式
		format.setEncoding("UTF-8");
		//将内存中的字节转换成字符
		Writer writer = new OutputStreamWriter(new FileOutputStream("src/cn/itcast/xml/parser/dom4j/car.xml"),"UTF-8");
		//创建dom4j的输出字符流
		XMLWriter xmlWriter = new XMLWriter(writer,format);
		//真正输出
		xmlWriter.write(document);
		//关闭流
		xmlWriter.close();
	}
	@Test
	public void create() throws Exception{
		Document document = this.getDocument();
		Element rootElement = document.getRootElement();
		Element carElement = rootElement.element("汽车");
		carElement.addElement("单价").setText("25万");
		this.writerToFile(document);
	}
	@Test
	public void update() throws Exception{
		Document document = this.getDocument();
		Element rootElement = document.getRootElement();
		Element carElement = (Element) rootElement.elements("汽车").get(1);
		carElement.element("产地").setText("广州");
		this.writerToFile(document);
	}
	@Test
	public void delete() throws Exception{
		Document document = this.getDocument();
		Element rootElement = document.getRootElement();
		Element priceElement = rootElement.element("汽车").element("单价");
		priceElement.getParent().remove(priceElement);
		this.writerToFile(document);
	}
}













 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics