用java生成XML,试图复制整个节点

时间:2010-05-23 10:20:27

标签: java xml dom

我有一个填充了人的xml文档(父节点是“学生”,还有25个“学生”节点)。

每个学生都是这样的:

<student>
  <name></name>
  <surname></surname>
  <grades>
    <subject name="">
      <small_grades></small_grades>
      <final_grade></final_grade>
    </subject>
    <subject name="">
      <small_grades></small_grades>
      <final_grade></final_grade>
    </subject>
  </grades>
  <average></average>
</student>

基本上,我想要做的事情(已被要求做)是制作一个能让3名学生获得最佳平均成绩的课程。虽然解析文档并获得三名最优秀的学生并不太困难,但XML生成是一件痛苦的事。

现在,我正在做的是从student获取每个节点并将其重新创建为新文件。有没有办法用整个student节点复制其中的所有内容?

问候,保罗

1 个答案:

答案 0 :(得分:2)

如果使用org.w3c.dom,则可以使用Document.importNode(Element,true)复制子树。

即。 element.appendChild(element.getOwnerDocument().importNode(student, true))

实际上与dom4j相同(这就是你在2010年需要使用的东西)。