将XML Document写入Java文件时出错

时间:2011-07-27 03:35:16

标签: java xml dom

我正在尝试将org.w3c.dom.Document写入文件。我从

获得了Document
String URL = "http://...."
DOMParser parser = new DOMParser();
Document doc = null;
try {
    parser.parse(new InputSource(URL));
    doc = parser.getDocument();
} catch () {}

然后我使用

将此Document写入文件
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(file));
transformer.transform(source, result);

执行此操作时,我不断收到以下错误

ERROR:  'Namespace for prefix 'xlink' has not been declared.'

可能有什么问题?感谢

1 个答案:

答案 0 :(得分:1)

我建议使用不同的库,例如Dom4J,而不是试图通过Java中的内置XML API。 Dom4J设计得更好,使您的代码更具可读性:

Document doc = new SAXReader().read(inputStream);
new XMLWriter(outputStream).write(doc);

这一切都没有FactoryFactoryFactoryFactories

我知道这并没有直接回答你的问题,但希望无论如何都会有所帮助。 Dom4j知道如何与Java XML API交谈,以便您可以根据自己的需要进行混合和匹配。如果你想使用XSLT,你甚至可以将它插入Xalan或类似的东西。