dom4j解析xml增删改查
2014-09-18 20:31
381 查看
<span style="font-size:18px;"><strong>记得导包</strong></span>
<strong><span style="font-size:18px;">1.新建Demo4jDemo2.java:</span></strong>
<strong><span style="font-size:18px;">import java.io.FileOutputStream; import java.util.List; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; public class Demo4jDemo2 { //操作元数据 public void attr() throws Exception{ SAXReader reader = new SAXReader(); Document dom = reader.read("book.xml"); Element root = dom.getRootElement(); Element bookEle = root.element("书"); //bookEle.addAttribute("出版社", "传智出版社");//增 // String str = bookEle.attributeValue("出版社");//查 // System.out.println(str); Attribute attr = bookEle.attribute("出版");//删 attr.getParent().remove(attr); XMLWriter writer = new XMLWriter(new FileOutputStream("book.xml"),OutputFormat.createPrettyPrint()); writer.write(dom); writer.close(); } //1、增 public void add()throws Exception{ SAXReader reader = new SAXReader(); Document dom = reader.read("book.xml"); Element root = dom.getRootElement(); //1、凭空创建<特价>节点,设置标签体 Element price2Ele = DocumentHelper.createElement("特价"); price2Ele.setText("40.0元"); //2、获取父标签<书>将特价节点挂载上去 Element bookEle = root.element("书"); bookEle.add(price2Ele); //将内存中的dom树会写到xml文件中,从而使xml中的数据进行更新 // FileWriter writer = new FileWriter("book.xml"); // dom.write(writer); // writer.flush(); // writer.close(); XMLWriter writer = new XMLWriter(new FileOutputStream("book.xml"),OutputFormat.createPrettyPrint()); writer.write(dom); writer.close(); } //2、删 public void del() throws Exception{ SAXReader reader = new SAXReader(); Document dom = reader.read("book.xml"); Element root = dom.getRootElement(); Element price2Ele = root.element("书").element("特价"); price2Ele.getParent().remove(price2Ele); XMLWriter writer = new XMLWriter(new FileOutputStream("book.xml"),OutputFormat.createPrettyPrint()); writer.write(dom); writer.close(); } //3.改 public void update()throws Exception{ SAXReader reader = new SAXReader(); Document dom = reader.read("book.xml"); Element root = dom.getRootElement(); root.element("书").element("特价").setText("4.0元"); XMLWriter writer = new XMLWriter(new FileOutputStream("book.xml"),OutputFormat.createPrettyPrint()); writer.write(dom); writer.close(); } //4.查 public void find() throws Exception{ SAXReader reader = new SAXReader(); Document dom = reader.read("book.xml"); Element root = dom.getRootElement(); List<Element> list = root.elements(); Element book2Ele = list.get(1); System.out.println(book2Ele.element("书名").getText()); //结果:JavaScript网页开发 } } </span></strong>
2.新建Dom4jDemo1.java:
public class Dom4jDemo1 {
public static void main(String[] args) throws Exception {
// //1.获取解析器
// SAXReader reader = new SAXReader();
// //2.解析xml获取代表整个文档的dom对象
// Document dom = reader.read("book.xml");
// //3.获取根节点:书架
// Element root = dom.getRootElement();
// //4.获取书名进行打印
// String bookName = root.element("书").element("书名").getText();
// System.out.println(bookName);
Demo4jDemo2 dom=new Demo4jDemo2();
dom.attr();
}
}
根目录下:新建book.xml:
<?xml version="1.0" encoding="UTF-8"?>
<书架>
<书>
<书名>Java就业培训教程</书名>
<作者>张孝祥</作者>
<售价>39.00元</售价>
<特价>4.0元</特价>
<特价>40.0元</特价>
</书>
<书>
<书名>JavaScript网页开发</书名>
<作者>张孝祥</作者>
<售价>28.00元</售价>
</书>
</书架>
相关文章推荐
- Dom4j解析XML文档 —— 增删改查
- XML解析(增删改查)-DOM解析(Jaxp、DOM4J实现DOM解析)、SAX解析(Jaxp实现SAX解析)
- dom4j解析XML之【增删改查】
- xml文档解析之dom4j的增删改查 ,乱码问题
- dom4j解析xml文档(增删查改)
- 使用dom4j解析xml与增删改查
- Dom4j解析xml文档实现增删改查
- dom4j解析xml文档(增删改查)
- DOM4j 解析xml文档,完成增删改查
- DOM4J的使用(DOM4J对XML的解析即增删改查)
- java解析XML方法_dom4j
- 用Dom4j解析XML及中文问题
- 用Dom4j解析XML及中文问题
- Dom4j解析XML时中文路径解决方案
- 利用dom4j解析 Google sitemap.xml
- 【转】使用 dom4j 解析 XML
- java中利用dom4j对XML文档的创建、解析、查找、修改、保存等操作。
- 使用 dom4j 解析 XML
- 使用dom4j解析XML例子
- 用Dom4j解析XML及中文问题(一)