在使用dom4j的api对xml文件进行CRUD(一)见博客http://www.php.cn/的基础上,再对做一次练习。


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;/** *  课堂练习:  * 1.使用dom4j的api来生成以下的xml文件<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的学生 * @author APPle * */public class Demo4 {/** * 1.生成指定xml文档 * @throws Exception */@Testpublic 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.只要对doc做了修改,都要做一次写出。内容写出到xml文件//3.1 输出位置FileOutputStream out = new FileOutputStream("d:/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的学生姓名 * @throws Exception */@Testpublic void test2() throws Exception{//1.查询到id为2的学生Document doc = new SAXReader().read(new File("d:/student.xml"));//1.1 找到所有的Student标签Iterator<Element> it = doc.getRootElement().elementIterator("Student");while(it.hasNext()){Element stuElem = it.next();//Student标签//1.2 查询id为id的学生标签if(stuElem.attributeValue("id").equals("2")){stuElem.element("name").setText("王丽");//覆盖式break;}}//3.1 输出位置FileOutputStream out = new FileOutputStream("d:/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 */@Testpublic 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();}}


以上就是xml解析之使用dom4j的api对xml文件进行CRUD(二)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

更多相关文章

  1. XML中的标签与元素的使用具体介绍
  2. XML文件要有根标签(错误)的代码解决分享
  3. cdata标签如何使用
  4. 我的“三本”大学生涯到此结束!
  5. 同伴压力,大学生一定摆脱这种思维
  6. 解决matplotlib文字标签遮挡问题
  7. VS2019学生版的下载安装并使用
  8. 计算机专业的学生怎样练习编程才能把编程学精通?
  9. 准大学生,如何预习计算机专业?

随机推荐

  1. Android 抖动效果
  2. Android更新Ui的几种方法和见解
  3. launcher学习
  4. 【Android】常见布局xml参数详解
  5. [android]EditText的一些设置
  6. Android:官网ROM下载地址备份
  7. Android EditText 不自动获取焦点(不自动
  8. Android 签名验证
  9. Android 多媒体播放器
  10. Android有用代码片段(四)