既然可以從XML中取得所需要的數據,當然也應該可以把自己的數據寫(xiě)入生成XML文件。由于XML是可擴展標記語(yǔ)言,所以如果沒(méi)有特定DTD或者Schema約定的話(huà),生成的XML文件標簽及屬性的具體寫(xiě)法你可以按個(gè)人習慣(當然一般情況下應該是有約定的,這樣你就只有按照DTD或者Schema的規定來(lái)生成了)。
寫(xiě)個(gè)簡(jiǎn)單的例子,在把一個(gè)簡(jiǎn)單的信息輸出到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) {
/*先生成目標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文件
*/
//得到根節點(diǎn)
Document doc=new Document(rootElt);
//使用JDOM提供的XMLOutputter類(lèi)輸出
XMLOutputter out=new XMLOutputter();
//設置xml文件的Encoding
out.setFormat(Format.getCompactFormat().setEncoding("gb2312"));
//我這里先打印查看一下生成的字符串
String xmlStr=out.outputString(doc);
System.out.println(xmlStr);
try {
//進(jìn)行數據輸出
out.output(doc, new FileOutputStream("E:/temp/output.xml"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}