【问题标题】:Deserializing a legacy XML structure in xstream在 xstream 中反序列化遗留的 XML 结构
【发布时间】:2008-11-05 08:18:50
【问题描述】:

我正在尝试反序列化如下所示的 xml 结构:

<somecontainer>
    <key1>Value1</key1>
    <key1>Value2</key1>
    <key2>Value3</key2>
    <key2>Value4</key2>
</somecontainer>

我基本上可以选择要反序列化的 if 元素类型,可能是 Pair 列表之类的东西。这里的本质是元素名称是键。

不,我无法更改 xml 结构。有谁知道如何用 xstream 做到这一点?

【问题讨论】:

    标签: java xstream


    【解决方案1】:

    我发现这种情况需要自定义序列化程序,没有办法。

    同样

    <node attr1="xxx">value1</node>
    

    还需要一个自定义序列化器。

    【讨论】:

      【解决方案2】:

      您还可以考虑在反序列化之前将文档转换为规范化形式。这将消除对自定义序列化程序的需要。

      我想权衡是更容易维护自定义序列化程序还是 XSL 转换步骤?

      【讨论】:

      • 那么我必须进行 2 路转换,我想这也可以使自定义序列化程序。不过,我会把它放在我的工具箱里;)
      【解决方案3】:

      我已经有一段时间没有使用 XStream 了,但 implicit collections 可能会满足你的需求。

      【讨论】:

      • 他最终会得到一个关键对象列表,但这对我来说似乎是合乎逻辑的转变。
      猜你喜欢
      • 2019-03-29
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 2012-02-25
      • 2012-10-14
      相关资源
      最近更新 更多