dom4j解析xml增删改查
来源:互联网 发布:linux rand 编辑:程序博客网 时间:2024/06/13 02:00
<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元</售价> </书> </书架>
0 0
- dom4j解析xml增删改查
- dom4j解析XML之【增删改查】
- dom4j解析xml文档(增删查改)
- DOM4j 解析xml文档,完成增删改查
- 使用dom4j解析xml与增删改查
- Dom4j 对XML增删改查
- XML(五)dom4j增删改查
- DOM4J的使用(DOM4J对XML的解析即增删改查)
- 用dom4j解析xml文件并执行增删改查操作
- xml文档解析之dom4j的增删改查 ,乱码问题
- 用dom4j解析xml文件并执行增删改查操作
- xml解析,sax解析,增删改查
- XML之------dom4j对XML文档增删改查
- XML解析(增删改查)-DOM解析(Jaxp、DOM4J实现DOM解析)、SAX解析(Jaxp实现SAX解析)
- 解析XML-DOM-增删改查
- 使用dom4j对XML文件进行增删改查
- dom4j对XML进行增删改查(详细)
- 使用Dom4j对XML进行增删改查
- 关于Iterator会报空指针的方法
- 有效的加载大图片
- 从url中获取bitmap
- CocoaPods的使用,以及第三库管理
- Android检测网络状态的广播
- dom4j解析xml增删改查
- android混淆代码
- Android 打包签名 从生…
- centos 出现”Error mounting: mount:unknown filesystem type 'ntfs'“
- 金蝶凭证常用快捷方式
- 关于课程学习
- sql两个查询结果left join
- OpenLayers中基于Filter的WFS查询
- HDU4998 Rotate(旋转,线段相交模板)