0

我正在尝试从一个复杂的结果集(即具有多个连接的结果集)创建一个 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 中。任何人都可以向我指出正确的方向,指向任何好的资源,甚至是做这个/类似事情的开源库,这样我就可以让它做我想做的事吗?谢谢。

4

3 回答 3

0

正如 Calm Storm 建议的那样,我将结果集转换为对象树并在抽象类中创建了一个自定义 toXml 方法,该方法遍历每个对象中的方法并从中创建 XML 元素和属性。

我简直不敢相信没有更简单的开源解决方案可以自动完成这一切!也许我只是懒惰:)

于 2010-03-03T11:29:53.753 回答
0

一个相当简单的事情是首先将您的结果集转换为 Competitions 对象,然后再将对象转换为 xml(使用 xstream 或一些此类框架)。

您能否将结果集转换为 Competitions 对象?(或者您也需要这方面的帮助?)

class Competitions {
   List<Competition> getCompetitions();
}

class Competition {
   Integer getId();
   Question getQuestion();
}

class Question {
   Integer getId();
   Answer getAnswer();
}

class Answer {
   String getText();
}
于 2010-03-02T17:52:06.227 回答
0

我从您的问题中不明白“Java”是什么意思?您是否需要解析此 XML(使用 Dom4J),您是否想从中生成 Java 对象(使用 JAXB、Xstream 或任何其他 XML 绑定库),或者您是否需要编写此 XML?

于 2010-03-01T12:56:16.460 回答