2016-07-26 68 views
0

我想寫一些數據從表單到XML文件,每次我想要創建新文件和數據被寫入,我希望這些文件存儲在這是我嘗試過的特定文件夾。我想補充什麼我通過HttpRequest的接收成功從一個servlet寫入XML文件

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(); 
    } 


} 
+5

確定。這是你的要求。你的問題是什麼?爲什麼要寫入System.out,而不寫入文件輸出流,因爲您希望XML轉到文件而不是標準輸出? –

回答

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);