Генерация XML с помощью Java, пытаясь скопировать весь узел - PullRequest
0 голосов
/ 23 мая 2010

У меня есть 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 Ответ

2 голосов
/ 23 мая 2010

Если вы используете org.w3c.dom, вы можете использовать Document.importNode (Element, true) для копирования поддеревьев.

т.е. element.appendChild(element.getOwnerDocument().importNode(student, true))

То же самое для dom4j, фактически (и эточто вы должны использовать в 2010 году).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...