gpt4 book ai didi

java - XStream不支持自定义转换器交叉委托(delegate)?

转载 作者:行者123 更新时间:2023-11-30 05:00:17 25 4
gpt4 key购买 nike

在我看来,Java XStream 库不支持交叉委托(delegate)。我的这个信念正确吗?

所以,我可以解释我的意思,请考虑以下示例:

<node-type-x>
<node-type-y>
<a/>
<b/>
</node-type-y>
<node-type-y>
<c/>
<d/>

假设我们有一个用于“node-type-x”节点的转换器和另一个用于“node-type-y”节点的转换器。我希望在 XStream 中看到的功能是某种类型的 delegate() 方法,我可以在 node-type-x 转换器中调用该方法来识别嵌套节点类型-y 节点并将解码委托(delegate)给此类节点的转换器并返回结果,以便节点类型 x 转换器可以根据需要处理结果。就目前情况而言,XStream 似乎要求“node-type-x”转换器处理此类节点的所有子节点。

最佳答案

有两种简单的方法可以做到这一点:

  1. Register your node-type-y converter使用 XStream 实例,并在您的 node-type-x 转换器内,调用 marshallingContext.convertAnother(object) .
  2. 不要向 XStream 实例注册您的转换器,并在您的 node-type-x 转换器内调用 marshallingContext.convertAnother(object, converter) ,将您想要用于传递的“y”的转换器传递给它。

关于java - XStream不支持自定义转换器交叉委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6990468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com