//简单例子
//第一种方式:
public class Java2XML {
public void BuildXMLDoc() throws IOException, JDOMException {
// 创建根节点 list;
Element root = new Element("list");
// 根节点添加到文档中;
Document Doc = new Document(root);
for (int i = 0; i < 2; i++) {
// 创建节点 user;
Element elements = new Element("user");
// 给 user 节点添加属性 id;
elements.setAttribute("id", "" + i);
// 给 user 节点添加子节点并赋值;
// new Element("name")中的 "name" 替换成表中相应字段,setText("xiaomei")中 "xuehui 替换成表中记录值;
elements.addContent(new Element("name").setText("xiaomei"));
elements.addContent(new Element("age").setText("18"));
elements.addContent(new Element("sex").setText("Male"));
// 给父节点list添加user子节点;
root.addContent(elements);
}
XMLOutputter XMLOut = new XMLOutputter();
// 输出 user.xml 文件;
XMLOut.output(Doc, new FileOutputStream("d:\\user.xml"));
}
}
调用Java2XML,
public IForward query(DefaultForm formBean, IRequest request, IResponse resp) throws Exception {
Java2XML j2x = new Java2XML();
System.out.println("生成XML文件..");
j2x.BuildXMLDoc();
System.out.println("生成成功!");
return request.findForward(FORWARD_GTT);
}
---------------------------------------------------------------------------------------------------
第二种方式:
public IForward query(DefaultForm formBean, IRequest request, IResponse resp) throws Exception {
String protype = request.getParameter("protype");
List<HomeVo> list = getBS().queryPro(protype);
//调用BuildXMLDoc
Java2XML j2x = new Java2XML();
Document doc = j2x.BuildXMLDoc(list);
//设置输出格式
HttpServletResponse _resp= (HttpServletResponse)resp;
_resp.setCharacterEncoding("GB2312");
//PrintWriter pw = _resp.getWriter();
//pw.print(doc.asXML().replaceAll("UTF-8","GB2312"));
pw.flush();
pw.close();
return null;
}
public class Java2XML {
//xml
public Document BuildXMLDoc(List<HomeVo> list) throws IOException {
Document doc = DocumentHelper.createDocument();
// 创建根节点 chart;
Element root = doc.addElement("chart");
root.addAttribute("palette","2");
Element categories = root.addElement("categories");
Element catchild = categories.addElement("category");
catchild.addAttribute("start", "1/1/2008");
catchild.addAttribute("end", "31/12/2008");
catchild.addAttribute("label", "年度");
//控制台打印输出的xml文件,可以在控制台拷贝此打印信息,
//在创建一个空的xml格式文件,粘贴上;format一下,可以查看生成的文件格式是否和预期相符
System.out.println(doc.asXML());
return doc;//返回生成的文件
}
}