【发布时间】:2011-06-09 05:18:13
【问题描述】:
所以我在这里声明了一个 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 将是节点。所以 nodelist 现在为空,因为它期望 tns:node 但我传入了 node。而且我知道忽略名称空间不好,但在这种情况下它很好。我的问题是我不知道如何在忽略命名空间的同时搜索节点中的元素。我也想过将命名空间添加到进来的 str 中,但我也不知道该怎么做。
任何帮助将不胜感激,
谢谢,-乔什
【问题讨论】:
标签: java xml dom xml-namespaces nodelist