我有一组XML文件,它们包含不同的信息,但都具有相同的根标记。标签看起来像这样:
第一档:
<node type="A"> ... </node>
第二档:
<node type="B"> ... </node>
等等。现在的问题是:我可以使用这样的注释表达式让JAXB将它们序列化为不同的类型:
A.java
@XmlRootElement(name = "node[@type='A']/text()")
public class A { ... }
B.java
@XmlRootElement(name = "node[@type='B']/text()")
public class A { ... }
这可能吗?
答案 0 :(得分:1)
你正在尝试的方式是不可能的。您可以使用StAX XMLStreamReader
解析XML,然后查看根元素事件的属性,选择要解组的类,然后调用带有unarshal
和{Class
的{{1}}方法{1}}作为参数。