删除<![CDATA [标签从xml webserivce响应

问题描述:

我使用下面的格式来响应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

<![CDATAP[......]]>用于说明不应该采取它的XML meaning并将其视为正常文本,称为character data。所以Parser不会在其中寻找任何XML的含义。由于戴夫牛顿和kshitij告诉它会在将它转换为对象时自动删除。 如果你不应该解析它,因为这是麻烦它没有问题。

+0

我接受它作为答案,因为我不需要为提供答案而烦恼。对于其他可能像我第一次使用webservices一样困惑的用户,我不会将信息解析为XML,而只是用来创建bean类,Web服务会自动处理满足我需求的XML表示。 – kitokid 2013-03-28 09:49:40