提问人:CatiaV5 提问时间:4/1/2022 最后编辑:CatiaV5 更新时间:4/1/2022 访问量:248
如何将 XML Prolog 添加到现有 XML Java
How to add XML Prolog to existing XML Java
问:
我有一组XML文件,其中的序言已被删除。为了进一步处理文件,我现在需要以编程方式添加此 prolog。我当前的代码如下,但它确实编写了一个空的XML。谁能帮忙?
try(InputStream is = new FileInputStream(FILENAME + filename)){
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(is);
doc.appendChild(doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"ISO-8859-1\""));
//print XML
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
DOMSource source = new DOMSource(doc);
FileOutputStream output =
new FileOutputStream("/Users/XXX/Documents/New/" + filename);
StreamResult result = new StreamResult(new File(output+filename));
transformer.transform(source, result);
}
答:
1赞
deadshot
4/1/2022
#1
您编写的代码很好,但是将更新的 xml 保存到您作为参数传递到的新文件中时出现了小错误new StreamResult(new File(output+filename))
FileOutputStream
File()
实际上,您不需要这样做就足够了new StreamResult(output)
完整代码:
FileOutputStream output = new FileOutputStream("/Users/XXX/Documents/New/" + filename)
StreamResult result = new StreamResult(output);
transformer.transform(source, result);
注意:
您的代码创建的 xml 文件在类路径中具有如下文件名
java.io.FileOutputStream@3d82c5f3<filename>
评论