Вот еще один ответ на этот старый вопрос. Я столкнулся с похожей проблемой в своем коде сегодня, и я фактически все время читаю / пишу XML. По какой-то причине я упустил из виду один важный факт. Если вы хотите использовать
NodeList elements = doc.getElementsByTagNameNS(namespace,elementName);
Вам необходимо проанализировать ваш документ на фабрике, учитывающей пространство имен.
private static DocumentBuilderFactory getFactory() {
if (factory == null){
factory = DocumentBuilderFactory
.newInstance();
factory.setNamespaceAware(true);
}
return factory;
}