Это не похоже на ошибку для меня, и я удивлен, что вы могли сделать это раньше.Задать атрибут xmlns для корневого элемента после того, как дерево DOM уже построено, слишком поздно.
В этот момент каждому элементу в дереве DOM уже разрешен префикс, а также назначены локальное имя и URI..
Если вы действительно хотите сделать это, манипулируя атрибутом xmlns (который на самом деле не является надлежащим атрибутом), вы должны манипулировать потоком ввода перед вызовом синтаксического анализатора DOM.
В качестве альтернативы,может попытаться пройтись по дереву и установить URI пространства имен каждого узла в нем.
Изменить: , чтобы уточнить, если там где-то была ошибка, это было в Java 5 - есликто-то проверил атрибут xmlns.Правильный способ - получить URI корневого элемента.