相关疑难解决方法(0)

使用JAXB从两个XML文件交叉引用XmlID

我正在尝试将两个不同的XML文件编组/解组到POJOS.第一个XML文件如下所示:

--Network.xml--
<Network>
  <Nodes>
    <Node id="ROD" />
    <Node id="KFI" />
    <Node id="JND" />
  </Nodes>
  <Arcs>
    <Arc fromNode="ROD" />
    <Arc fromNode="JND" />
  </Arcs>
</Network>
---------
Run Code Online (Sandbox Code Playgroud)

使用@XmlID和@XmlIDREF注释,我可以成功填充Arc类以指向它引用的正确节点.

但是,我还必须解析这个XML:

--NetworkInputs.xml--
<NetworkInputs>
  <Flows>
    <Flow toNode="JND" />
    <Flow toNode="ROD" />
  </Flows>
</NetworkInputs>
------
Run Code Online (Sandbox Code Playgroud)

目前,我的程序成功解组了Network对象,但是Network和NetworkInput之间没有连接,允许JAXB"看到"Network中存在的节点.我希望我的Flow对象指向Network类中的正确Node.

我基本上想要这样做:http: //old.nabble.com/JAXB-Unmarshalling-and-XmlIDREF-using-different-stores-td14035248.html

我尝试实现这个:http: //weblogs.java.net/blog/kohsuke/archive/2005/08/pluggable_ididr.html 它只是不起作用,因为我无法获取我填充的网络的节点数据静态上下文.

甚至可以做这样的事情吗?

java xml jaxb

6
推荐指数
1
解决办法
6860
查看次数

如何将Java对象转换为XML字符串,并相反地将XML转换为Java对象?

假设一个Java对象:

Object obj = new Object();
Run Code Online (Sandbox Code Playgroud)

如何将此对象存储在数据库中以保持此状态,并且在存储之后,应该很容易转换为Java对象,就像我存储它时一样?

java xml

2
推荐指数
1
解决办法
7653
查看次数

将hibernate对象直接转换为XML时的任何特殊注意事项

我正在尝试使用JAXB将hibernate对象列表转换为XML.是否存在任何特殊注意事项或任何原因导致具有一对多关系的hibernate对象列表无法转换?

1.)似乎Hibernate提供的PersistentSet不是Serializable,因此不能被JAXB转换.我可能需要将它转换为"Serializable"集.它是否正确?如果是,我该如何实现?

编辑1.我将编写Set adapter class,类似于此示例链接.将更新我的发现.http://www.objectpartners.com/2010/01/25/using-jpa-and-jaxb-annotations-in-the-same-object/

如下所述,不需要转换PersistentSet,因为它已经可序列化.

编辑2(和解决方案).好的,我能够使它工作.感谢Maven的Schemagen提供了'java.sql.TimeStamp'与JAXB不兼容的提示.我写了一个将TimeStamp转换为Date的适配器.

感谢大家对此的指导.

java xml hibernate jaxb

2
推荐指数
1
解决办法
743
查看次数

标签 统计

java ×3

xml ×3

jaxb ×2

hibernate ×1