利用jdom生成xml文档

来源:互联网 发布:如何加入淘宝云客服 编辑:程序博客网 时间:2024/05/21 06:34

   前面我发表了 jdom解析xml文档,就着兴将他如何生成xml文档也发表下自己的观点和看法,其实运用jdom比dom和SAX都容易方便,他融和两者的优点,而且方便操作,简单.

  具体的代码如下:

/**
 * @(#)BuilderXml.java
 *
 *
 * 
@author 汤守咏
 * 
@version 1.00 2007/5/23
 
*/


import org.jdom.Element;
import org.jdom.Document;
import org.jdom.output.Format;
import java.util.*;
import org.jdom.ProcessingInstruction;
import org.jdom.Attribute;
import org.jdom.output.XMLOutputter;
public class BuilderXml {

    
public WriteXml()throws Exception {
        Element root,student,name,sex,bg,xb,age;
        root 
= new Element("学生信息表");//根节点
        Document doc = new Document();
        doc.detachRootElement(root);
        HashMap map 
= new HashMap();
        map.put(
"type","text/xsl");
        map.put(
"href","2.xsl");
        ProcessingInstruction pi 
=new ProcessingInstruction("xml-stylesheet",map);
        doc.addContent(pi);
        student 
= new Element("学生");
        name 
= new Element("姓名");
        sex 
= new Element("性别");
        bg 
= new Element("班级");
        xb 
= new Element("院系");
        age 
= new Element("年龄");
        Attribute attr 
= new Attribute("学号","10024");
        student.addContent(attr);
        name.setText(
"李华");
        sex.setText(
"");
        bg.setText(
"03级计算机科学与技术四班");
        xb.setText(
"计算机");
        age.setText(
"23");
        root.addContent(student);
        student.addContent(name);
        student.addContent(sex);
        student.addContent(bg);
        student.addContent(xb);
        student.addContent(age);
        
        XMLOutputter out 
= new XMLOutputter();
        Format format 
= Format.getPrettyFormat();
        format.setEncoding(
"gb2312");
        out.setFormat(format);
        out.output(doc,
"3.xml");
        
        
    }

    
public static  void main( String [] args){
        BuilderXml text 
= new BuilderXml();
        text.WriteXml();
    }

    
    
}

他生成的XML 文档如下:

 

<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type="text/xsl" href="2.xsl"?>
<学生信息表>
   
<学生 学号=10024>
     
<姓名>李华</姓名>
                    
<性别></性别>
                    
<班级>03级计算机科学与技术四班</班级>
                    
<院系>计算机</院系>
                    
<年龄> 23</年龄>
           
</学生>
</学生信息表>
   

 

  

原创粉丝点击