У меня есть DOM-документ, и я извлекаю определенный узел, используя XPath. После этого я хочу сериализовать этот узел в XML. Я использую следующий код:
TransformerFactory
.newInstance()
.newTransformer()
.transform(new DOMSource(node),
new StreamResult(getOutputStream()));
Это работает в простом документе, но рассмотрим следующий документ:
<xml xmlns:foo="...">
<bar foo:bar="xyz" />
</xml>
В этом случае, если я хочу сериализовать «полосу» узла, то приведенный выше код ломается, потому что преобразователь говорит:
Пространство имен для префикса 'foo' не объявлено
Как заставить преобразователь скопировать определения пространства имен в новый документ?