gpt4 book ai didi

Java、SimpleXML 在一个路径中具有不同的前缀

转载 作者:行者123 更新时间:2023-11-30 07:07:22 31 4
gpt4 key购买 nike

我有一个具有这种结构的 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 {
}

希望有帮助。

关于Java、SimpleXML 在一个路径中具有不同的前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39850546/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com