JAXB解析具有相同元素名称的不同类型

时间:2019-12-06 12:56:11

标签: java xml spring jaxb

我必须解析具有未知数量的元素和未知名称的xml元素参数,其中它们有时是String,有时是复杂类型。

<params>
   <asd>param1</asd>
   <qwe>
      <jkl>param2</jkl>
      <rty>param3</rty>
      <uio>param4</uio>
       ....
   </qwe>
   <fgh>param5</fgh>
    ....
</params>

在其他一些请求中,它可能看起来像这样:

   <params>
       <asd>param1</asd>
       <qwe>param2</qwe>
       <a23>param3</a23>
    </params>

我尝试为“参数”和自定义适配器设置@XmlAnyElement Map<String, String>,但是当元素为Object(Map)时它不起作用,并且我不知道如何正确地将其解组。

存在问题是因为我在相同URL端点上使用相同方法接收到不同的xml对象。每个对象都有自己的带有不同参数的xsd模式。

我正在使用@ResponseBody类和Jaxb批注来映射它们,但不适用于某些请求列表和某些String中具有相同名称的元素。也许还有其他方法可以解决这个问题。

0 个答案:

没有答案