2013-04-02 73 views
0

我無法正確地將一些信息追加到我的xml文件中。這就是scrivi功能將節點追加到Java中的xml

public String scrivi (Document doc, File dest) 
    { 
    try 
    { 

     DOMSource sorgente = new DOMSource (doc); 
     StreamResult sr = new StreamResult (dest);   
     TransformerFactory tf = 
      TransformerFactory.newInstance(); 
     Transformer transf = tf.newTransformer(); 
     transf.transform (sorgente, sr); 
     return "Tutto ok"; 
    } 
    catch (TransformerConfigurationException tce) 
    { 

     System.out.println(tce.getMessage()); 
     return "<h1> Config </h1>"; 
    } 
    catch (TransformerException te) 
    { 

     System.out.println(te.getMessage()); 
     return "<h1> Transformer Errore </h1>"; 
    } 
    } 

和tath是我的代碼:

try { 
       DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
       DocumentBuilder db = dbf.newDocumentBuilder(); 
       Document document = db.parse(getClass().getResourceAsStream("/azioni.xml")); 


      Element root = document.getDocumentElement(); 
      Element new_azione = document.createElement("azione"); 
      Element id = document.createElement("id_azione"); 
      id.setTextContent(id_azione); 
      Element nome = document.createElement("nome_azione"); 
      nome.setTextContent(nome_azione); 
      Element prezzo_a = document.createElement("prezzo"); 
      prezzo_a.setTextContent(prezzo); 
      new_azione.appendChild(id); 
      new_azione.appendChild(nome); 
      new_azione.appendChild(prezzo_a); 
      document.getDocumentElement().appendChild(new_azione); 



      String nomexmlOut="/azioni.xml"; 



      File filedest = new File(nomexmlOut); 


      out.println(this.scrivi(document, filedest)); 

} 

我得到的錯誤變壓器Errore ......我該怎麼解決?怎麼了? * UPDATE * 錯誤信息

java.io.FileNotFoundException: /azioni.xml (Permission denied) 
+0

顯示完整的錯誤,所以我們可以看到它來自哪裏。 –

+0

增加了錯誤信息 –

回答

2

很難說沒有實際的異常跟蹤或消息,但我的猜測是,你的問題是輸出流。

File("/azioni.xml"); 

是不一樣的

getClass().getResourceAsStream("/azioni.xml") 

嘗試用定向輸出系統,看看它是否工作。即宣佈scrivi

public String scrivi (Document doc, OutputStream out) 

,並把它

scrivi(document, System.out); 

UPDATE:

要寫入相同的文件位置,嘗試這樣的事情(未經測試)

文件移出=新文件(getClasss()的getResource( 「...」)的GetFile());

並確保在嘗試寫入之前關閉最初讀取的輸入流。

+0

增加了錯誤信息謝謝 –

+0

好的,我是正確的,然後。您或進程無權寫入/創建輸出文件。嘗試不帶斜槓('/'); –

+0

我替換了字符串nomexmlOut =「/ azioni.xml」;用String nomexmlOut =「azioni.xml」;但我得到了相同的結果java.io.FileNotFoundException:/azioni.xml(權限被拒絕) –