利用DOM4J生成、解析XML-myElipse8.6

 

1.創建document對象

2.創建根節點,再循環創建子節點

3.格式化

4.生成xml

代碼實現:

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

//創建document
  Document doc=DocumentHelper.createDocument();
  //創建根節點
  Element root=doc.addElement("class");
  for(int i=0;i<10;i++)
  {
   //爲根節點添加子節點
   Element student=root.addElement("student");
   //爲student節點設置name屬性
 student.addAttribute("name", i+"");
   
 student.addElement("name").setText("張三");
   
 student.addElement("sex").setText("男");
   
 student.addElement("age").setText(i+20+"");
   
  }
  
  //設置輸出格式
  OutputFormat out=new OutputFormat().createCompactFormat();
  out.setEncoding("utf-8");
  out.setIndentSize(4);//設置換行的空格個數
  out.setNewlines(true);//設置是否換行
  
  try {
   
String path="src/outdom4j_out.xml";//xml生成的路徑
   //創建xmlwriter
   XMLWriter writer = new XMLWriter(new FileOutputStream(path),out);
   //寫入對象
   writer.write(doc);
   //關閉
   writer.close();
   System.out.println("ok");


  } catch (Exception e1) {
   e1.printStackTrace();
  }

 

 


利用DOM4J解析XML步驟:

1.創建解析器SAXReader

2.獲取document對象

3.循環解析節點

示例代碼:


import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

//創建解析器
  SAXReader reader = new SAXReader();
  
  try {
   
   //創建document對象
   Document doc=reader.read(Test1.class.getClassLoader().getResource("src/outdom4j_out.xml"));//參數從當前類出發得到項目根目錄(與WebRoot同目錄

   //得到根節點   
   Element root=doc.getRootElement();
   
   List<Element> students=root.elements();
   for(Element student:students)
   {
    //聲明數組
    String [] stu=new String [6];

    stu[0]=student.attributeValue("no");//得到子節點的屬性值
    stu[1]=student.elementText("name");
    stu[2]=student.elementText("sex");
    stu[3]=student.elementText("id");
    stu[4]=student.elementText("javascore");
    stu[5]=student.elementText("oraclescore");
    
    System.out.println(stu[0]+"\t"+stu[1]+"\t"+stu[2]+"\t"+stu[3]+"\t"+stu[4]+"\t"+stu[5]);
   // list.add(stu);
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  

 

利用DOM4J生成XML步驟:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章