Java, 一个Path中不同前缀的SimpleXML
Java, SimpleXML with different prefixes in one Path
我有一个具有这种结构的 XML 文件:
<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
如何处理具有不同前缀的路径?
由于您使用了两个不同的命名空间,因此您应该同时声明它们:
@Root(name = "root")
@NamespaceList({
@Namespace(prefix = "a" , reference="ref_a"),
@Namespace(prefix = "b", reference="ref_b")})
public class Root {
}
希望对您有所帮助。
我有一个具有这种结构的 XML 文件:
<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
:
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
如何处理具有不同前缀的路径?
由于您使用了两个不同的命名空间,因此您应该同时声明它们:
@Root(name = "root")
@NamespaceList({
@Namespace(prefix = "a" , reference="ref_a"),
@Namespace(prefix = "b", reference="ref_b")})
public class Root {
}
希望对您有所帮助。