在 Java 中查找没有适当命名空间的节点中的元素
2022-09-02 00:54:21
所以我有一个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);
}
问题是,当进来时,它没有任何命名空间,所以我要测试的xml将是:str
<Random>
<tns:node />
</Random>
,并且将是节点。所以nodelist现在是空的,因为它期望tns:node,但我传入了node。我知道忽略命名空间不好,但在这种情况下,它很好。我的问题是我不知道如何在忽略命名空间的情况下在Node中搜索元素。我还考虑过将命名空间添加到进来的str中,但我也不知道如何做到这一点。str
任何帮助将不胜感激,
谢谢, -乔希