1
我有有那种结构的XML文件:爪哇的SimpleXML在一个路径不同的前缀
<a:root>
<a:body>
<b:do_action>
<b:do_input>
<request>
<!-- There are a lot of primitive elements -->
</request>
</b:do_input>
</b:do_action>
</a:body>
</a:root>
我试图用SimpleXML
解析这个XML:
public class Request {
// There are a lot of defined primitive elements
}
@Root(name = "root")
@Namespace(prefix = "a")
public class Root {
@Path("a:body/b:do_action/b:do_input")
@Element(name = "request")
public Request request;
}
当我实例化我的对象,并希望将其显示为字符串,我得到这个错误信息:
org.simpleframework.xml.core.ElementException: Namespace prefix 'b' in class Request is not in scope
如何处理具有不同前缀的路径?
我删除了所有在我的代码中的@Namespace()注解,然后在我的类的顶部添加了@ NamespaceList。当我启动它时,现在它会引发错误:'类请求中的名称空间前缀'a'不在范围内' –
您是否至少为其中一个名称空间指定了'引用'属性?请注意,此属性是一个URI,它为每个名称空间提供了一个唯一的名称,因此您不应该将它们都留空。 – eltabo