2013-03-26 73 views
0

我使用下面的格式來響應web服務。刪除<![CDATA [標籤從xml webserivce響應

<Name>abc</Name> 
<Detail> 
<RESPONSE> 
    <Age>20</Age> 
    <Address>blahblah</Address> 
    <Mobile>12345</Mobile> 
</RESPONSE> 
</Detail> 

由於要求,我需要返回的XML格式的數據的內部標籤<Detail></Detail>。 在我的java類中,我使用Xstream進行解析並將其格式化爲xml,並放入Detail標記。

但是,當我使用SOAPUI測試時,我得到額外的<![CDATA[<RESPONSE>.. <</RESPONSE>]]> insdies詳細標籤。

我該如何避免使用xml響應的CDATA標記?

+0

它會自動刪除時,你會轉換成對象。 – KSHiTiJ 2013-03-26 03:36:53

+2

如果您嘗試將XML *作爲文本*嵌入到XML元素的內容中,則會將其作爲CDATA包裝,因爲它認爲您試圖使用帶有非法文本元素字符的文本元素。 – 2013-03-26 03:36:54

+0

所以當請求方解析這些信息時,它會好嗎?我應該照顧刪除這些標籤或任何更好的方式發送XML文本?有什麼建議麼? – kitokid 2013-03-26 03:39:03

回答

0

<![CDATAP[......]]>用於說明不應該採取它的XML meaning並將其視爲正常文本,稱爲character data。所以Parser不會在其中尋找任何XML的含義。由於戴夫牛頓和kshitij告訴它會在將它轉換爲對象時自動刪除。 如果你不應該解析它,因爲這是麻煩它沒有問題。

+0

我接受它作爲答案,因爲我不需要爲提供答案而煩惱。對於其他可能像我第一次使用webservices一樣困惑的用戶,我不會將信息解析爲XML,而只是用來創建bean類,Web服務會自動處理滿足我需求的XML表示。 – kitokid 2013-03-28 09:49:40