3)DOM4J 解析
来源:互联网 发布:北方菜谱软件下载 编辑:程序博客网 时间:2024/05/21 17:08
<?xml version="1.0" encoding="UTF-8"?><books> <book id="B1128010001" xx="xixihaha"> <name>Java编程思想(第4版</name> <author>Bruce Eckel</author> <售价>71.9</售价> <price>81.0</price> <publish>机械工业出版社</publish> </book> <book> <name>SQL Server 2008 DBA入门经典</name> <author>Chris Leiter</author> <price>63.8</price> <publish>清华大学出版社</publish> </book> </books>
—————————————————————————————————————————————————
package cn.zen.dom4j;import java.io.File;import java.io.FileOutputStream;import java.util.Iterator;import java.util.List;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;import org.junit.Test;public class Dom4jOperXml {/* * 读取第二本书的书名 <name>SQL Server 2008 DBA入门经典</name> */@Testpublic void readXml() throws Exception {SAXReader sr = new SAXReader();// 获取dcument的文档Document doc = sr.read(new File("src/book.xml"));// 获取文档的根节点Element eRoot = doc.getRootElement();// 获取到第二本书Element eBook2 = (Element) eRoot.elements().get(1);// 输出 第二本书的书名System.out.println(eBook2.element("name").getText());// 获取到第一本书 的属性id值Element eBook1 = (Element) eRoot.element("book");// 输出 第一本书 的属性id值System.out.println(eBook1.attributeValue("id"));// eBook1.attribute("id").getValue();}@Testpublic void loopXmlElements() throws Exception {SAXReader sr = new SAXReader();// 获取dcument的文档Document doc = sr.read(new File("src/book.xml"));// 获取文档的根节点Element eRoot = doc.getRootElement();// 获取到第二本书Element eBook2 = (Element) eRoot.elements().get(1);// Iterable/* * Iterator it = eBook2.elementIterator(); while (it.hasNext()) { Element e * = (Element) it.next(); System.out.println(e.getText()); } */for (Iterator it = eBook2.elementIterator(); it.hasNext();) {Element e = (Element) it.next();System.out.println(e.getText());}/* * for (Iterator i = eRoot.element("book").attributeIterator(); * i.hasNext();) { Attribute attr = (Attribute) i.next(); * System.out.println(attr.getValue()); // do something } */}/* * 给第一本书添加节点 <售价>71.9</售价> */@Testpublic void addElement() throws Exception {SAXReader sr = new SAXReader();// 获取dcument的文档Document doc = sr.read(new File("src/book.xml"));// 获取文档的根节点Element eRoot = doc.getRootElement();Element eBook1 = eRoot.element("book");eBook1.addElement("售价").setText("71.9");OutputFormat of = OutputFormat.createPrettyPrint();of.setEncoding("UTF-8");XMLWriter xw = new XMLWriter(new FileOutputStream("src/book.xml"), of);xw.write(doc);xw.close();}/* * 给第一本书指定位置 添加节点 <售价>71.9</售价> */@Testpublic void appointAdd() throws Exception {SAXReader sr = new SAXReader();// 获取dcument的文档Document doc = sr.read(new File("src/book.xml"));// 获取文档的根节点Element eRoot = doc.getRootElement();List eList = eRoot.element("book").elements();Element ePrice = DocumentHelper.createElement("售价");ePrice.setText("71.9");eList.add(2, ePrice);OutputFormat of = OutputFormat.createPrettyPrint();of.setEncoding("UTF-8");XMLWriter xw = new XMLWriter(new FileOutputStream("src/book.xml"), of);xw.write(doc);xw.close();}/* * 修改第一本书添加节点 <售价>101.9</售价> */@Testpublic void modifyElement() throws Exception {SAXReader sr = new SAXReader();// 获取dcument的文档Document doc = sr.read(new File("src/book.xml"));// 获取文档的根节点Element eRoot = doc.getRootElement();Element eBook1 = eRoot.element("book");eBook1.element("售价").setText("101.9");OutputFormat of = OutputFormat.createPrettyPrint();of.setEncoding("UTF-8");XMLWriter xw = new XMLWriter(new FileOutputStream("src/book.xml"), of);xw.write(doc);xw.close();}/* * 删除第一本书 <售价>71.9</售价> 节点 */@Testpublic void delElement() throws Exception {SAXReader sr = new SAXReader();// 获取dcument的文档Document doc = sr.read(new File("src/book.xml"));// 获取文档的根节点Element eRoot = doc.getRootElement();Element eBook1 = eRoot.element("book");eBook1.remove(eBook1.element("售价"));OutputFormat of = OutputFormat.createPrettyPrint();of.setEncoding("UTF-8");XMLWriter xw = new XMLWriter(new FileOutputStream("src/book.xml"), of);xw.write(doc);xw.close();}}
- 3)DOM4J 解析
- XML解析(dom4j)
- XML解析(Dom4j)
- Dom4j解析xml(二)
- Dom4j解析xml(二)
- XML解析( Dom4j 详解)
- dom4j XML解析(转)
- dom4j解析xml(记录)
- xml解析2(dom4j)
- 解析XML数据(dom4j)
- XML-解析技术续(dom4j解析)
- XML解析(四):dom4j解析
- DOM4j解析
- dom4j解析
- dom4j解析
- Dom4j 解析
- DOM4J解析
- dom4j解析
- 大数据: 发展还是变革?
- Python之强大的日志模块
- 评“马无夜草不肥:程序员做业余项目的重要性”
- vmnet1 and vmnet8
- WPF编程学习——样式(1)
- 3)DOM4J 解析
- android资源
- webx学习链接
- Django meta选项(zz)
- 经典SQL语句大全 技巧
- 窗口类--字体关系
- Android视频采集+H264编码成功
- android牛人博客
- struts2中文件上传的实现