使用动态标记将XML反序列化为POJO

时间:2018-05-09 11:51:41

标签: java xml jaxb pojo

我有一个XML -

<member>
     <name>product_type</name>
     <value>Regular</value>
 </member>
 <member>
     <name>product_nid</name>
     <value>
       <i4>12345</i4>
     </value>
 </member>

所以,我创建了Arraylist,因为我有多个XML成员字段。但是,问题是某些价值标签有标签,有些还有实际价值。

我们如何在同一个Java类中处理这个问题?

1 个答案:

答案 0 :(得分:0)

  

我们如何在同一个Java类中处理它?<​​/ p>

你不应该这样做。 XML并没有将其视为<value>,有时直接包含文本,有时会包含包含文本的元素。

XML将此视为包含混合内容的<value>,也就是说文本,可以选择由包含部分文本的元素<i4>注释,例如:

<value>This is <i4>some</i4> fine <i4>text</i4>.</value>

应对这种情况最有用的方法是不在其中,而是使用像你一样的XML来表达应该表达的内容。因此,一劳永逸地决定<value>是直接包含文本还是包含包含文本的元素,并始终遵循这一决定。

您可能需要表达关于价值的更多信息,告诉它是否是i4或whatsnot。这可以很好地利用value元素上的属性。