gpt4 book ai didi

jaxb - 如何强制 JAXB 编码器使用 xlink 引用?

转载 作者:行者123 更新时间:2023-12-04 06:12:23 25 4
gpt4 key购买 nike

我使用 JAXB marshaller 将一些 java 对象存储为 XML 文件。其中一些对象相互引用,所以我不出所料地得到了这个错误:

[com.sun.istack.internal.SAXException2: A cycle is detected in the object graph. This will cause infinitely deep XML

包括删除循环并仅使用树结构的解决方案是不可行的 - 我需要两个导航方向。

为了解决这个问题,我宁愿使用 xlink 来引用 xml 对象,而不是级联复制它们。这个解决方案是否相关?是否可以使用 JAXB 编码器来做到这一点?如何?

最佳答案

您可以使用 XmlAdapter 在 JAXB 中实现 XLink 方法。 .以下是各种类似答案的链接。

  • Serialize a JAXB object via its ID?
  • Using JAXB to cross reference XmlIDs from two XML files
  • Can JAXB marshal by containment at first then marshal by @XmlIDREF for subsequent references?

  • 我负责 EclipseLink JAXB (MOXy) 的实现,我们有 @XmlInverseReference您可能感兴趣的映射双向关系的扩展:
  • http://blog.bdoughan.com/2010/07/jpa-entities-to-xml-bidirectional.html
  • 关于jaxb - 如何强制 JAXB 编码器使用 xlink 引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7635411/

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