在 xstream 中反序列化旧版 XML 结构
我正在尝试反序列化一个如下所示的 xml 结构:
<somecontainer>
<key1>Value1</key1>
<key1>Value2</key1>
<key2>Value3</key2>
<key2>Value4</key2>
</somecontainer>
我基本上可以选择要反序列化到哪种类型的 if 元素,也许是像对列表之类的东西。 这里的本质是元素名称是键。
不,我无法更改 xml 结构。 有人知道如何使用 xstream 执行此操作吗?
I'm trying to deserialize an xml structure that looks like this:
<somecontainer>
<key1>Value1</key1>
<key1>Value2</key1>
<key2>Value3</key2>
<key2>Value4</key2>
</somecontainer>
I can basically choose what kind if element to deserialize to, maybe something like a List of Pair or something. The essence here is that the element names are the keys.
And no, I cannot change the xml structure. Anyone know how to do this with xstream ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我发现这种情况需要一个自定义序列化器,没有办法解决。
同样
也需要一个自定义序列化器。
I have found that a custom serializer is needed for this case, no way around it.
Similarly
also needs a custom serializer.
您还可以考虑在反序列化之前将文档进行 XSL 转换为规范化形式。 这将消除对自定义序列化器的需要。
我想权衡是维护自定义序列化程序或 XSL 转换步骤是否更容易?
You might also consider doing an XSL transformation of the document to a normalized form before deserializing it. That would obviate the need for a custom serializer.
I guess the trade off is if it is easier to maintain a custom serializer or an XSL transformation step?
我有一段时间没有使用 XStream,但 隐式集合 可能会使用你想要什么。
I have not used XStream in some time, but implicit collections probably does what you want.