既然可以从XML中取得所需要的数据,当然也应该可以把自己的数据写入生成XML文件。由于XML是可扩展标记语言,所以如果没有特定DTD或者Schema约定的话,生成的XML文件标签及属性的具体写法你可以按个人习惯(当然一般情况下应该是有约定的,这样你就只有按照DTD或者Schema的规定来生成了)。
     写个简单的例子,在把一个简单的信息输出到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之间的关系*/
    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文件
     */

    //得到根节点
    Document doc=new Document(rootElt);
    //使用JDOM提供的XMLOutputter类输出
    XMLOutputter out=new XMLOutputter();
    //设置xml文件的Encoding
    out.setFormat(Format.getCompactFormat().setEncoding("gb2312"));
    //我这里先打印查看一下生成的字符串
    String xmlStr=out.outputString(doc);
    System.out.println(xmlStr);
    
    try {
      //进行数据输出
      out.output(doc, new FileOutputStream("E:/temp/output.xml"));
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}