您的位置:首页 > 其它

JDom生成xml文件时元素值为空时生成的元素包含开始和结束标签的方法

2010-07-09 19:12 537 查看
import java.io.FileOutputStream;
import java.io.IOException;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

public class JavaXML {
public String BuildXMLDoc() throws IOException, JDOMException {

Element root = new Element("list"); // 创建根节点 list;
Document Doc = new Document(root); // 根节点添加到文档中;
Element elements = new Element("company"); //创建节点 user;

elements.setAttribute("id", "1"); //给company节点添加属性id
elements.addContent(new Element("name").setText(""));
elements.addContent(new Element("email").setText(""));
root.addContent(elements); // 给父节点list添加company子节点;
XMLOutputter XMLOut = new XMLOutputter();

XMLOut.output(Doc, new FileOutputStream("list.xml"));
Format f = Format.getRawFormat();
f.setEncoding("UTF-8");
f.setIndent(" "); //setIndent是设置分隔附的意思,一般都是用空格,就是当你新节点后,自动换行并缩进,有层次感,如果这样写setIndent(""),就只有换行功能,而不会缩进了,如果写成setIndent(null),这样就即不换行也不缩进,全部以一行显示了
XMLOut.setFormat(f);
return XMLOut.outputString(Doc);
}

public static void main(String[] args) {
try {
JavaXML javaXML = new JavaXML();
System.out.println(javaXML.BuildXMLDoc());
} catch (Exception e) {
e.printStackTrace();
}
}
}



生成的xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<list>
  <company id="1">
    <name></name>
    <email></email>
  </company>
</list>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: