我使用XStream序列的對象的列表。 (任務對象列表)。西河 - 添加屬性到根節點
我的XML返回到jsp頁面。
HashMap<String, Object> m = new HashMap<String, Object>();
XStream xstream = new XStream();
xstream.alias("Task", Task.class);
xstream.alias("Tasks", Vector.class);
m.put("task", task);
m.put("xml", xstream.toXML(l));
return new ModelAndView("task", m);
最終的XML結構看起來像這樣:
<Tasks>
<Task>
<TaskId>1<TaskId>
<TaskName>Task 1</TaskName>
etc...
</Task>
的根節點回來爲一個矢量,我使用xtream到如上所示爲「任務」的別名。
當我創建一個新的任務,或更新任務,我有重新安排的任務的順序,編號等,所以我返回任務對象的完整列表的代碼。但是我想將剛剛創建/更新的單個TaskId的值存儲爲XML結構根節點中的一個屬性,因此我不必在網絡中進行2次調用,並且我的客戶端代碼可以訪問數據庫中新的/更新的任務行的ID。
因此,舉例來說,如果我創建了一個新的任務,它被賦予的5任務id,我想給任務ID存儲在根節點這樣的:
<Tasks myId="5">
<Task>
<TaskId>1</TaskId>
<TaskName>Task 1</TaskName>
</Task>
<Task>
<TaskId>2</TaskId>
<TaskName>Task 2</TaskName>
</Task>
...
<Task>
<TaskId>5</TaskId>
<TaskName>Task 5</TaskName>
</Task>
etc
如何做到這一點與西河?我是否需要使用XSLT文件來轉換XML輸出?什麼是完成這個最好的方法?