Ошибка записи XML-документа в файл на Java - PullRequest
0 голосов
/ 27 июля 2011

Я пытаюсь записать 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 Ответ

1 голос
/ 27 июля 2011

Я рекомендую использовать другую библиотеку, такую ​​как Dom4J , а не пытаться пробиться через встроенный XML API в Java. Dom4J лучше спроектирован и делает ваш код более читабельным:

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

Ничего подобного с FactoryFactoryFactoryFactories.

Я знаю, что это не дает прямого ответа на ваш вопрос, но, надеюсь, оно все равно поможет. Dom4j знает, как общаться с Java XML API, чтобы вы могли смешивать и подбирать их в соответствии с вашими потребностями. Вы даже можете подключить его к Xalan или что-то подобное, если хотите использовать XSLT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...