前面我发表了 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();
}
}
* @(#)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 </ 年龄 >
</ 学生 >
</ 学生信息表 >
<? xml-stylesheet type="text/xsl" href="2.xsl" ?>
< 学生信息表 >
< 学生 学号=10024 >
< 姓名 > 李华 </ 姓名 >
< 性别 > 男 </ 性别 >
< 班级 > 03级计算机科学与技术四班 </ 班级 >
< 院系 > 计算机 </ 院系 >
< 年龄 > 23 </ 年龄 >
</ 学生 >
</ 学生信息表 >