修改XML文档的例子

前端之家收集整理的这篇文章主要介绍了修改XML文档的例子前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

要求:

1.生成一个XML文档:

<?xml version="1.0" encoding="utf-8"?>

<Students>
<Student id="1">
<name>张三</name>
<gender>男</gender>
<grade>计算机一班</grade>
<address>广州天河</address>
</Student>
<Student id="2">
<name>李四</name>
<gender>女</gender>
<grade>计算机二班</grade>
<address>广州越秀</address>
</Student>
</Students>

2.将id为2的学生的姓名修改为张丽

实现代码

package gz.itcast.a_dom4j_read;

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;

public class Demo_Write1 {
	public static void main(String[] args) throws Exception {
		//一、创建一个XML文档
		Document doc = DocumentHelper.createDocument();//1.创建一个文档
		Element rootElem = doc.addElement("Students");//2.创建标签
		Element studentElem1 = rootElem.addElement("Student");//创建子标签
		studentElem1.addAttribute("id","1"); //3.添加属性
		studentElem1.addElement("name").setText("张三");
		studentElem1.addElement("gender").setText("男");
		studentElem1.addElement("grade").setText("计算机一班");
		studentElem1.addElement("address").setText("广州天河");
		
		Element studentElem2 = rootElem.addElement("Student");//创建子标签
		studentElem2.addAttribute("id","2"); //3.添加属性
		studentElem2.addElement("name").setText("李四");
		studentElem2.addElement("gender").setText("女");
		studentElem2.addElement("grade").setText("计算机二班");
		studentElem2.addElement("address").setText("广州越秀");
		
		//二、修改XML文档:修改id为2的姓名为张丽,代码见test1
		
		//三、输出XML文件
		FileOutputStream out = new FileOutputStream("f:/Student.xml");
		OutputFormat format = OutputFormat.createPrettyPrint();
		format.setEncoding("utf-8");
		XMLWriter writer = new XMLWriter(out,format);
		writer.write(doc);
		writer.close();
	}
	
	//二、修改XML文档:修改id为2的姓名为张丽,代码见test1
	@Test
	public void test1() throws Exception {
		Document doc1 = new SAXReader().read(new File("f:/Student.xml"));
		Iterator<Element> it = doc1.getRootElement().elementIterator("Student");
		while(it.hasNext()){
			Element stuElem = it.next();
			System.out.println(stuElem.getName());
			if(stuElem.attributeValue("id").equals("2")) {
				stuElem.element("name").setText("张丽");
				break;
			}
		}
		
		FileOutputStream out = new FileOutputStream("f:/Student.xml");
		OutputFormat format = OutputFormat.createPrettyPrint();
		format.setEncoding("utf-8");
		XMLWriter writer = new XMLWriter(out,format);
		writer.write(doc1);
		writer.close();
	}
}
原文链接:https://www.f2er.com/xml/294572.html

猜你在找的XML相关文章