java操作xml之dom4j的增删改查
来源:互联网 发布:网络打印机打印错误 编辑:程序博客网 时间:2024/05/16 19:07
注意,保存的时候一定要注意编码问题,你的xml文档的编码类型是什么就在format那里设置一样的,否则就会乱码的。
XML测试文档:
<?xml version="1.0" encoding="UTF-8"?><商店> <商品> <名称 name="hhhh">手机</名称> <价格>1290</价格> <数量>90部</数量> </商品> <商品> <名称>电脑</名称> <价格>11290</价格> <数量>10台</数量> </商品> </商店>
Demo1.java
package com.cx.dom4j;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;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 { //读取指定标签 @Test public void read() throws Exception { //得到解析器 SAXReader reader = new SAXReader(); Document document = reader.read(new File("src/test.xml")); //读取第一个 String price = document.getRootElement().element("商品").element("价格").getText(); //读取第二个 Element goods = (Element)document.getRootElement().elements("商品").get(1); String price2 = goods.element("价格").getText(); //获取属性 String attr = document.getRootElement().element("商品").element("名称").attributeValue("name"); System.out.println(price); System.out.println(price2); System.out.println(attr); } //增加操作 @Test public void add() throws Exception{ //获得解析器 SAXReader reader = new SAXReader(); //读取xml Document document = reader.read(new File("src/test.xml")); //处理xml,向第一个商品里添加一个优惠标签,在价格之前 //创建标签 Element cut = DocumentHelper.createElement("优惠"); cut.setText("7折"); //获得第一个商品下的所有标签 List list = document.getRootElement().element("商品").elements(); //此时,list的存放的数据为[名称、价格、数量] list.add(1,cut); //格式化 OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8");//设置编码 //保存 XMLWriter writer = new XMLWriter(new FileOutputStream("src/test.xml"),format); writer.write(document); writer.close(); } //删除操作 @Test public void delete() throws DocumentException, IOException{ //得到解析器 SAXReader reader = new SAXReader(); Document document = reader.read(new File("src/test.xml")); //删除属性 Element goods = document.getRootElement().element("商品").element("名称"); goods.remove(goods.attribute("name")); //删除标签 Element cut = document.getRootElement().element("商品").element("优惠"); cut.getParent().remove(cut); //格式化 OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8");//设置编码 //保存 XMLWriter writer = new XMLWriter(new FileOutputStream("src/test.xml"),format); writer.write(document); writer.close(); } //修改标签 @Test public void update() throws Exception{ //取得解析器 SAXReader reader = new SAXReader(); Document document = reader.read(new File("src/test.xml")); List<Element> list = document.getRootElement().elements("商品"); Element goods = list.get(1); goods.element("名称").setText("999"); //格式化 OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8");//设置编码 //保存 XMLWriter writer = new XMLWriter(new FileOutputStream("src/test.xml"),format); writer.write(document); writer.close(); }}
阅读全文
1 0
- java操作xml之dom4j的增删改查
- java(12)--xml之dom4j方式的增删改查
- Dom4j对XML文档的增删改查操作
- dom4j解析XML之【增删改查】
- XML之------dom4j对XML文档增删改查
- 使用dom4j操作xml实现增删改查
- java dom4j 增删改查
- 主题:java操作xml(sax,dom,jdom,dom4j)增删改查
- java操作xml(sax,dom,jdom,dom4j)增删改查
- java 使用DOM4J对XML文件进行增删改查操作
- Dom4j对xml增删改查的实例详解
- xml文档解析之dom4j的增删改查 ,乱码问题
- dom4j解析xml增删改查
- Dom4j 对XML增删改查
- XML(五)dom4j增删改查
- java(12)--xml之dom方式的增删改查
- java之JDBC增删改查操作
- 自学java之hibernate操作数据库的增删查改
- hdu2586 How far away
- CSS中的浮动和定位
- xpath定位中contains的用法
- sparksql dataframe
- tomcat小知识-虚拟目录
- java操作xml之dom4j的增删改查
- vue双向绑定
- Linux查看某个库是否安装
- Node博客项目系列(二)项目创建,安装初始化,请求的实现
- Caffe中的损失函数
- 用redis实现秒杀
- Java的类锁和对象锁
- 解决 java “错误:编码GBK 的不可映射字符”
- solr5.5(6)——debugQuery的打分分析