我正在尝试使用 Java 的 JAXB 库解组以下 XML。
<message name="GetAllRoutesSoapIn">
<part name="parameters" element="GetAllRoutes"/>
</message>
...
<operation name="GetAllRoutes">
<input message="GetAllRoutesSoapIn"/>
</operation>
分层解组这个文件很容易:一个消息有很多部分,一个操作有一个输入。但是我在建立输入和消息之间的关系时遇到了麻烦。
我希望未编组的Input
类有一个 type 字段Message
而不是 type String
。
输入类
@XmlType
public class Input extends AbstractElement {
// @XmlAttribute
// private String message;
// Not sure how to implement this. XMLAdapter?
private Message message;
protected Input () {}
...
我最初的想法是创建一个自定义 Message XMLAdapter 并使用 @XmlJavaTypeAdapter(MessageAdapter.class) 注释 Message 类和 Input 的 Message 属性。我会在 Adapter 类上保留所有实例化消息的静态集合。当适配器试图从输入的消息属性中解组消息时,将从适当的 xml 元素“消息”实例化的消息被收集和搜索。快要工作了,但我无法让适配器为输入类触发。
有任何想法吗?