既然可以从XML中取得所需要的数据,当然也应该可以把自己的数据写入生成XML文件。由于XML是可扩展标记语言,所以如果没有特定DTD或者Schema约定的话,生成的XML文件标签及属性的具体写法你可以按个人习惯(当然一般情况下应该是有约定的,这样你就只有按照DTD或者Schema的规定来生成了)。
写个简单的例子,在把一个简单的信息输出到E:/temp下的output.xml中。
写个简单的例子,在把一个简单的信息输出到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();
}
}
}
/**
* <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();
}
}
}
本文转自NightWolves 51CTO博客,原文链接:
http://blog.51cto.com/yangfei520/301251
,如需转载请自行联系原作者