【发布时间】:2015-04-28 21:42:54
【问题描述】:
我正在尝试找出从公共 API 解组某些数据的最佳方法(这意味着我无法控制如何将其序列化为 XML)。
<Show>
<name>Buffy the Vampire Slayer</name>
<totalseasons>7</totalseasons>
<Episodelist>
<Season no="1">
<episode>...</episode>
<episode>...</episode>
<episode>...</episode>
<episode>...</episode>
</Season>
<Season no="2">...</Season>
<Season no="3">...</Season>
</Episodelist>
</Show>
以上是从 ReSTful 查询返回的 XML 示例。理想情况下,我想弄清楚如何做两件事; 1) 将所有季节列表合并到一个剧集列表中,以及 2) 在解组 XML 时是否可以仅访问子元素并忽略父元素(例如,仅访问 EpisodeList,忽略 Show)?
感谢您的帮助!这是我的第一篇 SO 帖子(对编程来说还是相当新的)。
【问题讨论】:
-
如果公共 api 提供和 xsd,您可以使用 jaxb 将 /unmarshal xml 转换为 java 对象。然后对 java 对象做你想做的事。
-
为什么不使用 xml 解析器?
-
@rsavchenko 据我所知,他们不提供 XSD(我也不确定这对我有什么帮助)...
-
@Franky 我想我可以调查一下。我希望使用 JAX-B 来实现这一点(我在想通过使用 XmlAdapter 类)。
标签: java xml rest jersey jax-rs