如何查找给定命名空间中的所有标记?
示例XML提取:
<myNamespace:tag1>
<myNamespace:tag2>test</myNamespace:tag2>
<span>test2</span>
</myNamespace:tag1>
我想获得一个包含myNamespace
:
myNamespace:tag1
myNamespace:tag2
我尝试myDocument.select("myNamespace|")
,但遗憾的是它不起作用。
答案 0 :(得分:0)
这是来自this链接的修改后的答案,我根据您的情况对其进行了编辑:
// Elements of any tag, but with 'types' are stored here
Elements namespaces = new Elements();
// Select all elements
for( Element element : doc.select("*") )
{
// Split the tag by ':'
final String s[] = element.tagName().split(":");
/*
* If there's a namespace (otherwise s.length == 1) use the 2nd
* part and check if the element namespace is "myNamespace"
*/
if( s.length > 1 && s[0].equals("myNamespace") == true )
{
// Add this element to the found elements list
namespaces.add(element);
}
}