2012-10-16 2 views
2

Xstream을 사용하여 객체 목록을 직렬화합니다. (Task 객체 목록).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을 사용하고 벡터로 돌아온다 .

새 작업을 만들거나 작업을 업데이트 할 때 작업 목록, 번호 매기기 등을 재정렬하는 코드가 있으므로 작업 개체의 전체 목록을 반환합니다. 하지만 XML 구조의 루트 노드에 속성으로 방금 생성/업데이트 한 단일 TaskId의 값을 저장하여 네트워크를 통해 2 개의 호출을 할 필요가 없으며 클라이언트 코드에서 액세스 할 수 있습니다. db에있는 새/업데이트 된 작업 행의 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 

: 나는이 같은 루트 노드에서 작업 ID를 저장하려는 것이다

그래서 예를 들어 나는 새로운 작업을 만든 경우 그것은 5의 TaskID를 할당됩니다 Xstream? XML 출력을 변환하기 위해 XSLT 파일을 사용해야합니까? 가장 좋은 방법은 무엇입니까? 정렬 화 방법에 다음과 같이

답변

관련 문제