使用java创建XML文件

Har*_*ana 36 java xml

如何使用java创建一个xml文件并将其保存在我的机器的某个地方.有哪些属性还包含在xml文件中?我找到了org.w3c.dom.Document但是在创建元素属性和保存xml文件时遇到了问题.

谢谢.

小智 29

您可以使用DOM XML解析器使用Java创建XML文件.在这个网站上可以找到一个很好的例子:

try {
    DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

    //root elements
    Document doc = docBuilder.newDocument();

    Element rootElement = doc.createElement("company");
    doc.appendChild(rootElement);

    //staff elements
    Element staff = doc.createElement("Staff");
    rootElement.appendChild(staff);

    //set attribute to staff element
    Attr attr = doc.createAttribute("id");
    attr.setValue("1");
    staff.setAttributeNode(attr);

    //shorten way
    //staff.setAttribute("id", "1");

    //firstname elements
    Element firstname = doc.createElement("firstname");
    firstname.appendChild(doc.createTextNode("yong"));
    staff.appendChild(firstname);

    //lastname elements
    Element lastname = doc.createElement("lastname");
    lastname.appendChild(doc.createTextNode("mook kim"));
    staff.appendChild(lastname);

    //nickname elements
    Element nickname = doc.createElement("nickname");
    nickname.appendChild(doc.createTextNode("mkyong"));
    staff.appendChild(nickname);

    //salary elements
    Element salary = doc.createElement("salary");
    salary.appendChild(doc.createTextNode("100000"));
    staff.appendChild(salary);

    //write the content into xml file
    TransformerFactory transformerFactory =  TransformerFactory.newInstance();
    Transformer transformer = transformerFactory.newTransformer();
    DOMSource source = new DOMSource(doc);

    StreamResult result =  new StreamResult(new File("C:\\testing.xml"));
    transformer.transform(source, result);

    System.out.println("Done");

}catch(ParserConfigurationException pce){
    pce.printStackTrace();
}catch(TransformerException tfe){
    tfe.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

  • -1表示不确认来源,这意味着它是原始材料 (29认同)
  • 来源:http://www.mkyong.com/java/how-to-create-xml-file-in-java-dom/ (15认同)

yeg*_*256 7

您可以使用Xembly,这是一个小型开源库,使这个XML创建过程更加直观:

String xml = new Xembler(
  new Directives()
    .add("root")
    .add("order")
    .attr("id", "553")
    .set("$140.00")
).xml();
Run Code Online (Sandbox Code Playgroud)

Xembly是本机Java DOM的包装器,是一个非常轻量级的库.

  • @DanielAbouChleih,我在4年后来到这里,发现这个答案很有用. (14认同)