Итак, у меня есть документ 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
будет node. Итак, nodelist теперь null, потому что он ожидает tns: node, но я прошел через node. И я знаю, что нехорошо игнорировать пространство имен, но в этом случае это прекрасно. Моя проблема в том, что я не знаю, как искать элемент Node для элемента, игнорируя пространство имен. Я также думал о добавлении пространства имен к str, который приходит, но я не знаю, как это сделать.
Любая помощь будет принята с благодарностью,
Спасибо, -Josh