Dom4j编写XML文件

来源:互联网 发布:怎样发数据到gsm模块 编辑:程序博客网 时间:2024/06/08 10:02
package com.yezi.leran.xml;import java.io.File;import java.io.FileWriter;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;public class Dom4jDemo {public static void main(String[] args) {try {XMLWriter writer = null;// 声明写XML的对象SAXReader reader = new SAXReader();OutputFormat format = OutputFormat.createPrettyPrint();format.setEncoding("UTF-8");// 设置XML文件的编码格式String filePath = "./src/student.xml";File file = new File(filePath);if (file.exists()) {Document document = reader.read(file);// 读取XML文件Element root = document.getRootElement();// 得到根节点boolean bl = false;for (Iterator i = root.elementIterator("学生"); i.hasNext();) {Element student = (Element) i.next();if (student.attributeValue("sid").equals("001")) {// 修改学生sid=001的学生信息student.selectSingleNode("姓名").setText("王五");student.selectSingleNode("年龄").setText("25");writer = new XMLWriter(new FileWriter(filePath), format);writer.write(document);writer.close();bl = true;break;}}if (bl) {// 添加一个学生信息Element student = root.addElement("学生");student.addAttribute("sid", "100");Element sid = student.addElement("编号");sid.setText("100");Element name = student.addElement("姓名");name.setText("嘎嘎");Element sex = student.addElement("性别");sex.setText("男");Element age = student.addElement("年龄");age.setText("21");writer = new XMLWriter(new FileWriter(filePath), format);writer.write(document);writer.close();}} else {// 新建student.xml文件并新增内容Document _document = DocumentHelper.createDocument();Element _root = _document.addElement("学生信息");Element _student = _root.addElement("学生");_student.addAttribute("sid", "001");Element _id = _student.addElement("编号");_id.setText("001");Element _name = _student.addElement("姓名");_name.setText("灰机");Element _age = _student.addElement("年龄");_age.setText("18");writer = new XMLWriter(new FileWriter(file), format);writer.write(_document);writer.close();}System.out.println("操作结束! ");} catch (Exception e) {e.printStackTrace();}}}
转载地方:http://www.blogjava.net/biiau/archive/2008/09/24/231005.html
原创粉丝点击