菜鸟学Android(八):dom4j的增删改查

一、节点的增删改查

1、查询

Book.xml

<?xml version="1.0" encoding="UTF-8"?>
<书架>
    <书>
        <书名>java从入门到精通</书名>
        <作者>张</作者>
        <售价>38.元</售价>
    </书>
    <书>
        <书名>java就业培训教程</书名>
        <作者>崔</作者>
        <售价>18.00元</售价>
    </书>
</书架>


查询元素为"书名"的第二个标签体

java程序如下:

public class Dom4jDome2 {
    
    @Test
    public void find() throws DocumentException{
        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());
        
        
    }
}


结果是:java就业培训教程

2、增加

为上面的XML文档在书节点下面添加一子个节点<特价>36.99</特价>

java程序如下:

public void add() throws DocumentException, IOException{
        
        //获取SAX阅读器
        SAXReader reader=new SAXReader();
        //获取XML文档的对象
        Document dom=reader.read("Book.xml");
        //获取根节点
        Element root=dom.getRootElement();
        
        //文档对象创建一个元素
        Element priceEle=dom.addElement("特价");
        //设置元素特价的标签体
        priceEle.setText("36.99");
        //获取书节点
        Element bookEle=root.element("书");
        //将特价节点添加到书上面去
        bookEle.add(priceEle);
        
        
        //将内存中的dom书写入xml文档中,从而使xml中的数据更新
        FileWriter writer=new FileWriter("Book.xml");
        dom.write(writer);
        writer.flush();
        writer.close();
        
        
    }
}

3、修改

修改上面的特价为4.0元

public void update() throws DocumentException, UnsupportedEncodingException, FileNotFoundException{
		
		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());
	}


4、删除

删除特价节点

public void del() throws DocumentException, IOException{
		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();
	}


二、属性的增删改查

省略


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值