2013-05-17 137 views
3

我正在使用Spring,它是REST模板,它使用JAXB將XML從webservice綁定到域對象。從Web服務返回的XML如下:使用JAXB忽略根元素

<response> 
    <user> 
     <id>1</id> 
     <name>bob</name> 
     ... 
    </user> 
</response> 

我有一個用戶類,如下所示:

public class User { 

    private String id; 

    private String name; 

} 

是否有可能忽略了「反應」元素,並指定根元素「用戶」?

感謝您的任何幫助。

+0

它是Spring而不是JAXB,它添加了'response'元素。 –

+0

嗨Blaise,不幸的是Web服務添加了響應元素,但我只對XML中的用戶部分感興趣。 – Swordfish

回答

0

表示您的班級的XML,具有像根<user>標籤。

所以:

  • 或者您使用的是Java解析器提取用戶子樹和使用後JAXB,
  • 否則你創建另一個類response來映射你的web服務的響應。

我建議第二選擇。

有關信息,當您使用任何XML綁定框架時,​​必須記住類字段和XML標記之間的一對一關係。

+1

感謝您的回覆。我確實通過創建一個「Response」類並將「User」作爲映射的XML元素來實現它,但我想知道是否可以解決必須映射Response對象的問題。我使用Spring的Rest模板自動將XML綁定到對象,所以我不確定是否可以預處理XML。理想情況下,我想在用戶類中做的是@XmlRootElement(name =「Response/User」),但我懷疑這是行得通的。 – Swordfish