我必须解析具有未知数量的元素和未知名称的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中具有相同名称的元素。也许还有其他方法可以解决这个问题。