gpt4 book ai didi

java - 哪个 Java XML 绑定(bind)框架支持循环/循环依赖?

转载 作者:数据小太阳 更新时间:2023-10-29 02:09:07 28 4
gpt4 key购买 nike

我有两个类:

public class A {
B refToB;
}

public class B {
A refToA;
}

它们没有唯一的 id 字段(这是 JAX-B XMLID 和 XMLIDREF 所必需的)。

对象实例:

A a = new A();
B b = new B();
a.refToB = b;
b.refToA = a;

我想在存储循环/循环依赖的同时将 a 编码为 XML,例如:

<a id="gen-id-0">
<b>
<a ref-id="gen-id-0" />
</b>
</a>

我发现支持此功能的框架之一是 XStream:http://x-stream.github.io/graphs.html

还有哪些其他框架支持此功能?

某些 JAX-B 实现是否支持它?

最佳答案

注意:我是 EclipseLink JAXB (MOXy) JAXB (JSR-222) 的领导和成员专家组。

MOXy 具有用于映射双向关系的 @XmlInverseReference 扩展。

一个

import javax.xml.bind.annotation;

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class A {
@XmlElement(name="b")
B refToB;
}

B

import javax.xml.bind.annotation;
import org.eclipse.persistence.oxm.annotations.XmlInverseReference;

@XmlAccessorType(XmlAccessType.FIELD)
public class B {
@XmlInverseReference(mappedBy="refToB")
A refToA;
}

XML

上面的类将映射到下面的 XML

<a>
<b/>
<a>

了解更多信息

关于java - 哪个 Java XML 绑定(bind)框架支持循环/循环依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8969702/

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