使用Jackson解析具有重复元素的XML的简单方法

问题描述

我正在寻找一种使用Jackson来分析具有重复元素的XML结构的简单方法。这是一个简化的示例:

<root>
   <a>
       <x>
           <b>some content</b>
           <c>some content</c>
       </x>
       <x>
           <b>some content</b>
           <c>some content</c>
       </x>    
       ...
       <x>
           <b>some content</b>
           <c>some content</c>
       </x>
   </a>

   ... some other content ...
</root>

我想收集列表或数组中的所有x元素问题是,当使用类似这样的东西时:

XmlMapper().readTree(xml).get("a").fields()

结果仅包含x的最后一个实例,因此看起来某些映射键被覆盖了。有一种使用JsonParser的解决方案 例如:XmlMapper().createParser(xml),但有点怪。

有更好的方法吗?

修改

我在README中阅读“已知限制”部分的方式,XML似乎是杰克逊的二等公民。我确实接受@galuszkak的回答,但我想当开发人员调用XmlMapper().readTree(xml)时,他们并不希望XML处理受此方法的局限性所束缚。 / p>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)