对于我的应用程序,我只需要确定根节点的命名空间,所以理想情况下我想执行一个操作来获取这个命名空间。
/*/namespace::*
我的代码使用 XPath 来获取所有声明的命名空间(
我确定我在这里遗漏了一些明显的东西,但是获取给定元素的名称空间的最佳方法是什么,因为 xmlns: 属性不在 getAttrValNS 中考虑?
String elementName = vn.toRawString(vn.getCurrentIndex());
String prefix = prefix(elementName);
String localName = localName(elementName);
QName rootQName;
if (prefix == null) {
rootQName = new QName(localName);
} else {
int nsIndex = vn.getAttrValNS("xmlns", prefix);
// Can't find index because xmlns attributes are not included
String namespace = vn.toRawString(nsIndex);
rootQName = new QName(namespace, localName);
}
是否有一个简单的 XPath 只会给我根节点的名称空间,而不是根节点上声明的所有名称空间?