xml解析中如何使用dom4j的api对xml文件进行CRUD

这篇文章将为大家详细讲解有关xml解析中如何使用dom4j的api对xml文件进行CRUD,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联公司是一家专业提供高唐企业网站建设,专注与网站建设、成都网站制作、H5场景定制、小程序制作等业务。10年已为高唐众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

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文件


	张三
	
	计算机1班
	
广州天河
李四 计算机2班
广州越秀
2.修改id为2的学生的姓名,改为“王丽” 3.删除id为2的学生  * @author APPle  *  */ public class Demo4 { /**  * 1.生成指定xml文档  * @throws Exception  */ @Test 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.只要对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  */ @Test public void test2() throws Exception{ //1.查询到id为2的学生 Document doc = new SAXReader().read(new File("d:/student.xml")); //1.1 找到所有的Student标签 Iterator 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  */ @Test public void test3() throws Exception{ //1.查询到id为2的学生 Document doc = new SAXReader().read(new File("e:/student.xml")); //1.1 找到所有的Student标签 Iterator 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”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


分享标题:xml解析中如何使用dom4j的api对xml文件进行CRUD
网址分享:http://ybzwz.com/article/jdjocc.html