2010-05-23 51 views
-1

我有一個充滿人的xml文檔(父節點是「學生」,並且有25個「學生」節點)。用java生成XML,試圖複製整個節點

每個學生看起來是這樣的:

<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節點與其中的所有內容複製?

的問候,保羅

回答

2

如果使用org.w3c.dom中,你可以使用Document.importNode(元素,真)複製子樹。

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

同爲dom4j的,實際上(這就是你需要使用2010年的)。

+0

那麼,這聽起來不錯,但我怎麼會找到正確的'學生'導入(我有一個列表前三名) – PawelMysior 2010-05-23 12:07:22

+0

那麼,(元學生:學生)root.appendChild( root.getOwnerDocument()。importNode(student,true)); – alamar 2010-05-23 14:36:49