1

我不知道为什么,但是 dom4j 没有加载 xmlns 属性,例如:

xmlns="http://webservices.example.com/servicesplatform/command/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

其他属性正常加载,但只是被忽略。我使用属性迭代器检查所有元素的所有属性。

有一个例子我是如何阅读这个xml的:

SAXReader reader = new SAXReader();

Document document = reader.read(file);
return document;

我不知道我什至可以尝试什么。:( 知道如何从 xml 文件中获取此属性吗? :(

编辑:我像那样遍历它们

public void getAllAttributes(Element element) {


    Iterator<Attribute> attributeterator = element.attributeIterator();



    while (attributeterator.hasNext()) {
        Attribute attribute = iteratorAttribute.next();
        System.out.println(attribute.getQualifiedName() + " " + , attribute.getValue());

    }


}
4

3 回答 3

0

您可以通过以下方式获取默认命名空间

element.getNamespace()

所有其他命名空间都可以通过

element.additionalNamespaces()

于 2013-07-10T22:54:25.053 回答
0

我正在使用 dom4j 2.1.0,以下代码用于获取默认命名空间:

document.getRootElement().getNamespaceURI()

它返回:http://webservices.example.com/servicesplatform/command/1.0.0

您可以通过以下方式获取所有命名空间对象:

document.getRootElement().additionalNamespaces()
于 2018-02-15T13:57:41.710 回答
-1

xmlns属性是Namespace's。要使用 阅读它们Dom4j,您可以根据需要使用以下两种方法中的任何一种:

命名空间.get(字符串 uri)

Namespace.get(字符串前缀,字符串 uri)

于 2013-07-10T21:00:56.963 回答