博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xml的相关操作
阅读量:6082 次
发布时间:2019-06-20

本文共 3227 字,大约阅读时间需要 10 分钟。

hot3.png

package gz.itcast.a_dom4j_write;

import java.io.File;

import java.io.FileOutputStream;

import java.util.Iterator;

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;

/**

 *  

<Students>

<Student id="1">

<name>张三</name>

<gender>男</gender>

<grade>计算机1班</grade>

<address>广州天河</address>

</Student>

<Student id="2">

<name>李四</name>

<gender>女</gender>

<grade>计算机2班</grade>

<address>广州越秀</address>

</Student>

</Students>

2.修改id为2的学生的姓名,改为“王丽”

3.删除id为2的学生

 * ly

 *

 */

public class Demo4 {

/**

* 1.生成指定xml文档

* Exception

*/

public void test1() throws Exception{

//1.内存创建xml文档

Document doc = DocumentHelper.createDocument();

//2.写入内容

Element rootElem = doc.addElement("Students");

//2.1 增加标签

Element studentElem1 = rootElem.addElement("Student");

//2.2 增加属性

studentElem1.addAttribute("id", "1");

//2.3 增加标签,同时设置文本

studentElem1.addElement("name").setText("张三");

studentElem1.addElement("gender").setText("男");

studentElem1.addElement("grade").setText("计算机1班");

studentElem1.addElement("address").setText("广州天河");

//2.1 增加标签

Element studentElem2 = rootElem.addElement("Student");

//2.2 增加属性

studentElem2.addAttribute("id", "2");

//2.3 增加标签,同时设置文本

studentElem2.addElement("name").setText("李四");

studentElem2.addElement("gender").setText("女");

studentElem2.addElement("grade").setText("计算机2班");

studentElem2.addElement("address").setText("广州越秀");

//3.内容写出到xml文件

//3.1 输出位置

FileOutputStream out = new FileOutputStream("e:/student.xml");//根据你的需求

//3.2 指定格式

OutputFormat format = OutputFormat.createPrettyPrint();

// 设置编码

format.setEncoding("utf-8");

XMLWriter writer = new XMLWriter(out,format);

//3.3 写出内容

writer.write(doc);

//3.4关闭资源

writer.close();

}

/**

* 2.修改id为2的学生姓名

* Exception

*/

public void test2() throws Exception{

//1.查询到id为2的学生

Document doc = new SAXReader().read(new File("e:/student.xml"));

//1.1 找到所有的Student标签

Iterator<Element> it = doc.getRootElement().elementIterator("Student");

while(it.hasNext()){

Element stuElem = it.next();

//1.2 查询id为id的学生标签

if(stuElem.attributeValue("id").equals("2")){

stuElem.element("name").setText("王丽");

break;

}

}

//3.1 输出位置

FileOutputStream out = new FileOutputStream("e:/student.xml");

//3.2 指定格式

OutputFormat format = OutputFormat.createPrettyPrint();

// 设置编码

format.setEncoding("utf-8");

XMLWriter writer = new XMLWriter(out,format);

//3.3 写出内容

writer.write(doc);

//3.4关闭资源

writer.close();

}

/**

* 3.删除id为2的学生

* @throws Exception

*/

@Test

public void test3() throws Exception{

//1.查询到id为2的学生

Document doc = new SAXReader().read(new File("e:/student.xml"));

//1.1 找到所有的Student标签

Iterator<Element> it = doc.getRootElement().elementIterator("Student");

while(it.hasNext()){

Element stuElem = it.next();

//1.2 查询id为id的学生标签

if(stuElem.attributeValue("id").equals("2")){

//1.3 删除该学生标签

stuElem.detach();

break;

}

}

//3.1 输出位置

FileOutputStream out = new FileOutputStream("e:/student.xml");

//3.2 指定格式

OutputFormat format = OutputFormat.createPrettyPrint();

// 设置编码

format.setEncoding("utf-8");

XMLWriter writer = new XMLWriter(out,format);

//3.3 写出内容

writer.write(doc);

//3.4关闭资源

writer.close();

}

}

转载于:https://my.oschina.net/chenliyong/blog/663069

你可能感兴趣的文章
Mysql利用binlog恢复数据
查看>>
我的友情链接
查看>>
用yum安装mariadb
查看>>
一点IT"边缘化"的人的思考
查看>>
WPF 降低.net framework到4.0
查看>>
搭建一个通用的脚手架
查看>>
开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
查看>>
开源磁盘加密软件VeraCrypt教程
查看>>
本地vs云:大数据厮杀的最终幸存者会是谁?
查看>>
阿里云公共镜像、自定义镜像、共享镜像和镜像市场的区别 ...
查看>>
shadowtunnel v1.7 发布:新增上级负载均衡支持独立密码
查看>>
Java线程:什么是线程
查看>>
mysql5.7 创建一个超级管理员
查看>>
【框架整合】Maven-SpringMVC3.X+Spring3.X+MyBatis3-日志、JSON解析、表关联查询等均已配置好...
查看>>
要想成为高级Java程序员需要具备哪些知识呢?
查看>>
带着问题去学习--Nginx配置解析(一)
查看>>
onix-文件系统
查看>>
java.io.Serializable浅析
查看>>
我的友情链接
查看>>
多线程之线程池任务管理通用模板
查看>>