既然可以從XML中取得所需要的數(shù)據(jù),當(dāng)然也應(yīng)該可以把自己的數(shù)據(jù)寫入生成XML文件。由于XML是可擴(kuò)展標(biāo)記語言,所以如果沒有特定DTD或者Schema約定的話,生成的XML文件標(biāo)簽及屬性的具體寫法你可以按個(gè)人習(xí)慣(當(dāng)然一般情況下應(yīng)該是有約定的,這樣你就只有按照DTD或者Schema的規(guī)定來生成了)。
寫個(gè)簡單的例子,在把一個(gè)簡單的信息輸出到E:/temp下的output.xml中。
XMLWriter.java
public class XMLWriter {
/**
* <selects>
* <select>
* <id>1</id>
* <name>北京市</name>
* </select>
* <select>
* <id>2</id>
* <name>上海市</name>
* </select>
* </selects>
*
*/
public static void main(String[] args) {
/*先生成目標(biāo)Elements并建立各Element之間的關(guān)系*/
Element rootElt=new Element("selects");
Element selectElt=new Element("select");
Element idElt=new Element("id");
idElt.addContent("1");
Element valueElt=new Element("name");
valueElt.addContent("北京市");
selectElt.addContent(idElt);
selectElt.addContent(valueElt);
Element selectElt2=new Element("select");
Element idElt2=new Element("id");
idElt2.addContent("2");
Element valueElt2=new Element("name");
valueElt2.addContent("上海市");
selectElt2.addContent(idElt2);
selectElt2.addContent(valueElt2);
rootElt.addContent(selectElt);
rootElt.addContent(selectElt2);
/*
* 生成xml文件
*/
//得到根節(jié)點(diǎn)
Document doc=new Document(rootElt);
//使用JDOM提供的XMLOutputter類輸出
XMLOutputter out=new XMLOutputter();
//設(shè)置xml文件的Encoding
out.setFormat(Format.getCompactFormat().setEncoding("gb2312"));
//我這里先打印查看一下生成的字符串
String xmlStr=out.outputString(doc);
System.out.println(xmlStr);
try {
//進(jìn)行數(shù)據(jù)輸出
out.output(doc, new FileOutputStream("E:/temp/output.xml"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}