Итак, у меня есть XML-документ, который я здесь объявил:
DocumentBuilder dBuilder = dbFactory_.newDocumentBuilder();
StringReader reader = new StringReader(s);
InputSource inputSource = new InputSource(reader);
doc_ = dBuilder.parse(inputSource);
Затем у меня есть функция, в которой я передаю строку и хочу сопоставить ее с элементом в моем XML:
void foo(String str)
{
NodeList nodelist = doc_.getDocumentElement().getElementsByTagName(str);
}
Проблема в том, что когда появляется str
, в нем нет какого-либо пространства имен, поэтому xml, который я буду тестировать, будет:
<Random>
<tns:node />
</Random>
иstr
будет узлом.Таким образом, список узлов теперь равен нулю, потому что он ожидал узел tns: но я передал узел.И я знаю, что не стоит игнорировать пространство имен, но в данном случае это нормально.Моя проблема в том, что я не знаю, как искать узел для элемента, игнорируя пространство имен.Я также думал о добавлении пространства имен к входящей str, но я не знаю, как это сделать.
Любая помощь будет принята с благодарностью,
Спасибо, Джош