【问题标题】:Writing to XML file from a servlet [duplicate]从 servlet 写入 XML 文件 [重复]
【发布时间】:2016-07-26 10:06:43
【问题描述】:

我正在尝试将从表单中提取的一些数据写入 XML 文件,每次我希望创建新文件并写入数据并且我希望将这些文件存储在特定文件夹中,这就是我所拥有的试过了。我想添加我通过 httpRequest 收到的任何内容都是成功的

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{
    String hostIPAddress=request.getParameter("hostIPAddress");
    String destinationIPAddressTool1=request.getParameter("IPtool1");
    String destinationIPAddressTool2=request.getParameter("IPtool2");
    String root="root";
    String hostIPElement="Host-IP";
    String tool1Element="Tool-1";
    String tool2Element="Tool-2";
    if(destinationIPAddressTool1 == null)
    {
        destinationIPAddressTool1="none";
    }

    if(destinationIPAddressTool2 == null)
    {
        destinationIPAddressTool2="none";
    }

    DocumentBuilderFactory documentBuilderFactory=DocumentBuilderFactory.newInstance();
    DocumentBuilder documentBuilder = null;
    try {
        documentBuilder = documentBuilderFactory.newDocumentBuilder();
    } catch (ParserConfigurationException e) {

        e.printStackTrace();
    }
    Document document = documentBuilder.newDocument();
    Element rootElement = document.createElement(root);
    document.appendChild(rootElement);

    Element em1 = document.createElement(hostIPElement);
    em1.appendChild(document.createTextNode(hostIPAddress));
    rootElement.appendChild(em1);

    Element em2 = document.createElement(tool1Element);
    em2.appendChild(document.createTextNode(destinationIPAddressTool1));
    rootElement.appendChild(em2);

    Element em3 = document.createElement(tool2Element);
    em3.appendChild(document.createTextNode(destinationIPAddressTool2));
    rootElement.appendChild(em3);

    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    Transformer transformer = null;
    try {
        transformer = transformerFactory.newTransformer();
    } catch (TransformerConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    DOMSource source = new DOMSource(document);
    StreamResult result =  new StreamResult(System.out);
    try {
        transformer.transform(source, result);
    } catch (TransformerException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


}

【问题讨论】:

  • 好的。那是你的要求。你的问题是什么?为什么要写入 System.out,而不是文件输出流,因为您希望 XML 转到文件而不是标准输出?

标签: java xml servlets


【解决方案1】:

这里试试这个到底应该可以工作

//将内容写入xml文件

TransformerFactory transformerFactory = TransformerFactory.newInstance();
          Transformer transformer = transformerFactory.newTransformer();
          DOMSource source = new DOMSource(doc);
          StreamResult result = new StreamResult(new File("file.xml"));

          // Output to console for testing
          // StreamResult result = new StreamResult(System.out);

          transformer.transform(source, result);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    相关资源
    最近更新 更多