2

我得到这样的xml内容:

<data>
   <randomtagname>
      <name>....</name>
      <description>.....</description>
      <description>.....</description>
   </randomtagname>
   <anotherrandomtagname>
      <name>....</name>
      <description>.....</description>
   </anotherrandomtagname>
   <thirdridiculousrandomtagname>
      <name>....</name>
      <description>.....</description>
      <description>.....</description>
   </thirdridiculousrandomtagname>
       .
       .
       .
</data>

是否可以在不使用 @XmlAnyElement 的情况下创建一个带注释的 java 类并使用 jaxb 取消/编组该文件?

4

1 回答 1

1

对我来说,它看起来像是一个对象列表。制作一个具有

 List<Object> data
多变的。你不应该需要注释。

基本上,您希望您的 xml 接口足够通用,以接受可能具有不同字段的不同对象的列表。一旦这个接口接受了一个 java 对象列表,它就由你的 java 代码来确定它们是什么并将它们转换为正确的类类型。对该部分使用 instanceOf。其中一些在 java 泛型中进行了描述,您可以在其中传递任何对象,但您必须确定它是什么来转换它。我认为只要它以真正的类形式发送,instanceof 就可以工作。您不会发送对象列表,而是发送字符串、整数或自定义类(如 Myclass1、Myclass2)的列表。然后,一旦您阅读了该列表,请使用 instanceof 来确定列表中每个对象的对象类型,它是 String、Myclass1、Myclass2 等的实例......并适当地进行转换。

Reading your question closer I may be missing what you really need to know. Maybe this link hasbsomething that would help. jaxb help

于 2012-06-08T16:19:09.073 回答