利用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步骤:

 

你可能感兴趣的:(职场,解析xml,休闲,利用DOM4J来生成)