我正在尝试从复杂的结果集创建XML文档,即具有多个连接的结果集,因此竞争有很多问题,而且问题有很多答案。
因此该文件最终会看起来像:
<competitions>
<competition id="12">
<question id="3">
<answer id="34">
The answer
</answer>
<answer id="35">
The answer
</answer>
<answer id="36">
The answer
</answer>
</question>
...
很像SQL Server中的“for XML”命令,但我无法使用数据库进行处理,因此需要使用Java。任何人都可以指出我正确的方向任何良好的资源甚至开源库,这样做/类似的事情,所以我可以让它做我想要的吗?感谢。
答案 0 :(得分:0)
我不明白你的问题是什么“在Java中”意味着什么?您是否需要解析此XML(使用Dom4J),是否要从此生成Java对象(使用JAXB,Xstream或任何其他XML绑定库),还是需要编写此XML?
答案 1 :(得分:0)
一个相当容易的事情是将结果集首先转换为竞争对象,然后将对象转换为xml(使用xstream或某些此类框架)。
您是否可以将结果集转换为竞赛对象? (或者你也需要帮助吗?)
class Competitions {
List<Competition> getCompetitions();
}
class Competition {
Integer getId();
Question getQuestion();
}
class Question {
Integer getId();
Answer getAnswer();
}
class Answer {
String getText();
}
答案 2 :(得分:0)
正如Calm Storm建议的那样,我将结果集转换为Object树,并在Abstract Class中创建了一个自定义toXml方法,该方法遍历每个对象中的方法并从中创建XML元素和属性。
我简直不敢相信没有一个更简单的开源解决方案,这将自动完成所有这些!也许我只是懒惰:)。