我无法正确地将一些信息附加到我的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));
}
我收到错误Transformer Errore ...我该如何解决?怎么了? *更新* 错误信息
java.io.FileNotFoundException: /azioni.xml (Permission denied)
答案 0 :(得分:2)
很难说没有实际的异常跟踪或消息,但我的猜测是你的问题是输出流。
File("/azioni.xml");
与
不同getClass().getResourceAsStream("/azioni.xml")
尝试将输出定向到系统,看看它是否有效。即宣布抄写
public String scrivi (Document doc, OutputStream out)
并用
调用它scrivi(document, System.out);
更新:
要写入同一文件位置,请尝试以下内容(未经测试)
File out = new File(getClasss()。getResource(“...”)。getFile());
并确保在尝试写入之前关闭最初读取的输入流。