用Java编写XML文件 [英] Writing to a XML file in Java

查看:148
本文介绍了用Java编写XML文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在处理以下代码:

import java.io.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import org.w3c.dom.*;

public class CreatXMLFile {
  public static void main(String[] args) throws Exception {
    BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
//    System.out.print("Enter number to add elements in your XML file: ");
//    String str = bf.readLine();
    int no=2;
//    System.out.print("Enter root: ");
    String root = "SMS";
    DocumentBuilderFactory documentBuilderFactory =DocumentBuilderFactory.newInstance();

        DocumentBuilder documentBuilder =documentBuilderFactory.newDocumentBuilder();

        Document document = documentBuilder.newDocument();

    Element rootElement = document.createElement(root);

        document.appendChild(rootElement);
//    for (int i = 1; i <= no; i++)
//      System.out.print("Enter the element: ");
//      String element = bf.readLine();
      String element ="Number";
      System.out.print("Enter the Number: ");
      String data = bf.readLine();
      Element em = document.createElement(element);
      em.appendChild(document.createTextNode(data));
      rootElement.appendChild(em);

      String element1 ="message";
      System.out.print("Enter the SMS: ");
      String data1 = bf.readLine();
      Element em1 = document.createElement(element1);
      em1.appendChild(document.createTextNode(data1));
      rootElement.appendChild(em1);

    TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        DOMSource source = new DOMSource(document);
        StreamResult result =  new StreamResult(System.out);
        transformer.transform(source, result);

  }
}

它提供以下输出:

run:
Enter the Number: 768678
Enter the SMS: ytu
<?xml version="1.0" encoding="UTF-8" standalone="no"?><SMS><Number>768678</Number><message>ytu</message></SMS>BUILD SUCCESSFUL (total time: 8 seconds)

现在我要编写生成的输出(<?xml version =1.0encoding =UTF-8standalone =no?>< SMS>< Number> 768678< / Number>< message> ytu< / message>< / SMS> )到硬盘上的XML文件。我该怎么做?

Now I want to write the generated output (<?xml version="1.0" encoding="UTF-8" standalone="no"?><SMS><Number>768678</Number><message>ytu</message></SMS>) to a XML file on the hard disk. How do I do it?

推荐答案

使用 FileOutputStream (或 文件 )而不是 System.out 构建你的 StreamResult

Use a FileOutputStream (or a File) instead of System.out to construct your StreamResult.

这篇关于用Java编写XML文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆