java操作xml之dom4j

dom4j写xml文件

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class XMLDom4jWriter {

     public void generateDocument() {
         // 使用 DocumentHelper 类创建一个文档实例
         Document document = DocumentHelper.createDocument();
         // 使用 addElement() 方法创建根元素 stuinfo
         Element stuinfo = document.addElement("studentinfo");
         // 在 stuinfo 元素中使用 addComment() 添加注释
         stuinfo.addComment("学生信息");
         // 在 stuinfo 元素中使用 addElement() 添加节点stu
         Element stu = stuinfo.addElement("stu");
         // 使用 addAttribute() 方法向 stu 元素添加 id 属性。
         stu.addAttribute("id", "1");
         // 向 stu 元素中添加 name 元素。
         Element name = stu.addElement("name");
         name.setText("jack");
        
            //可以用循环来做数据加入操作
//         Element stu1 = stuinfo.addElement("stu");
//         // 使用 addAttribute() 方法向 stu 元素添加 id 属性。
//         stu1.addAttribute("id", "2");
//         // 向 stu 元素中添加 name 元素。
//         Element name1 = stu1.addElement("name");
//         name1.setText("rose");
         try {
             FileWriter   out   =   new   FileWriter(new   File("c:/catalog.xml"));
                OutputFormat   format   =   OutputFormat.createPrettyPrint();
                //解决因编码问题造成的输出中文报异常的问题
                format.setEncoding("GBK");
                XMLWriter   writer   =   new   XMLWriter(out,   format);
                writer.write(document);
                writer.close();
         } catch (IOException e) {
             System.out.println(e.getMessage());
         }
     }
   public static void main(String[] args) {
       XMLDom4jWriter dom4j = new XMLDom4jWriter();
          dom4j.generateDocument();
   }

dom4j读xml文件

import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class TestDOM4J {

 /**
  * @param args
  */
 public static void main(String[] args) {
  
  try {
   
//   <users xmlns="
http://www.softeem.com/xml">
//   <user id="1">
//    <name>mick</name>
//    <pass>123</pass>
//   </user>
//   
//   <user id="2">
//    <name>jack</name>
//    <pass>123456</pass>
//   </user>
//   <!-- ..... -->
//     </users>
   SAXReader reader = new SAXReader();
   Document doc = reader.read(new File(
     "src/com/softeem/xml/myusers.xml"));
   Element root = doc.getRootElement();
   Iterator it = root.elementIterator("user");
   while (it.hasNext()) {
    Element user = (Element) it.next();
    String id = user.attributeValue("id");
    System.out.println("id:" + id);
    String name = user.elementText("name");
    System.out.println("name:" + name);
    String pass = user.elementText("pass");
    System.out.println("pass:" + pass);
   }
  
  } catch (Exception e) {
   e.printStackTrace();
  }

 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值