用dom4j对xml文档解析
2014-11-25 23:38
423 查看
package com.huowolf.dom4j; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; 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 Demo1 { //读取xml文档的第二本书:<name>安徒生童话</name> @Test public void read() throws DocumentException { SAXReader reader = new SAXReader(); Document document = reader.read(new File("books.xml")); Element root = document.getRootElement(); Element book = (Element)root.elements("book").get(1); //获取Text String text= book.elementText("name"); System.out.println(text); //获取value String value = book.attributeValue("id"); System.out.println(value); } //在第一本书上添加一个国籍:<language>English</language> @Test public void add() throws DocumentException, IOException { SAXReader reader = new SAXReader(); Document document = reader.read(new File("books.xml")); Element book = document.getRootElement().element("book"); book.addElement("language").setText("English"); //输出文件 XMLWriter writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream("books.xml"),"UTF-8")); /* * 格式化输出器可以指定码表 * OutputFormat format = OutputFormat.createPrettyPrint(); * format.setEncoding("gb2312"); * writer = new XMLWriter( System.out, format ); */ writer.write( document ); writer.close(); } //在第一本书的指定位置上添加一个新的售价:<price>95</price> @Test public void add2 ()throws Exception{ SAXReader reader = new SAXReader(); Document document = reader.read(new File("books.xml")); Element book = document.getRootElement().element("book"); List<Element> list = book.elements(); Element price = DocumentHelper.createElement("price"); price.setText("95"); list.add(3, price); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(new FileOutputStream("books.xml"), format); writer.write(document); writer.close(); } //删除指定节点:<price>89</price> @Test public void delete() throws DocumentException, IOException { SAXReader reader = new SAXReader(); Document document = reader.read(new File("books.xml")); Element price = (Element) document.getRootElement().element("book").elements("price").get(1); price.getParent().remove(price); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(new FileOutputStream("books.xml"), format); writer.write(document); writer.close(); } }
相关文章推荐
- DOM4J解析XML文档
- dom4j生成或解析xml文档
- DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件
- dom4j解析xml文档
- DOM4J生成和解析XML文档
- 使用Dom4j解析XML文档
- dom4j生成或解析xml文档
- DOM4J解析xml文档
- 使用SAX和dom4j解析XML文档
- DOM4J生成和解析XML文档
- DOM4J生成和解析XML文档
- dom4j解析及写入XML文档时的乱码问题
- 使用Dom4j实现对XML文档的解析
- Dom4j解析XML文档
- java中利用dom4j对XML文档的创建、解析、查找、修改、保存等操作。
- dom4j生成XML文档及解析
- Dom4J解析XML文档
- dom4j生成XML文档及解析
- 利用Dom4j解析xml文档
- DOM4J解析XML文档