所以我有我在這裏宣佈一個XML文檔:查找節點元素不正確的命名空間,在Java
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中,但我不知道該怎麼做。
任何幫助將不勝感激,
感謝,-Josh
該字符串已經有一個名稱空間,我需要添加到該方法的字符串需要識別該名稱空間。 – Grammin 2011-01-14 15:34:42
您可以發佈您正在嘗試處理的完整xml的最小示例。您發佈的xml示例使用的是不在任何地方聲明的名稱空間。命名空間tns需要映射到XML文檔的URL以形成格式(請參閱http://en.wikipedia.org/wiki/XML_namespace#Namespace_declaration)。 – 2011-01-14 15:44:46