从Web Service发出的XML响应中获取属性

时间:2012-09-12 13:38:04

标签: android xml web-services ksoap2

通过Android应用程序访问Web服务我通常使用Ksoap2库和代码:

  response.getProperty("field") 

其中“field”是XML的元素名称,而response是soapObject,我在其中“捕获”了WS答案。 与此答案相关的典型XML是:

   <registry> 
     <cf>issjdeodk1292983ls</cf> 
     <name>John</name> 
     <surname>Doe</surname> 
     <sex>M</sex>
     <message>a simple optional message</message>
   </registry>

在这种情况下,当我尝试访问字段“message”时,没有问题:

  response.getProperty("message")

完全返回字符串“一个简单的可选消息”

但是我的Web服务,如果找不到消息(服务器端),则返回以下XML文件

   <registry> 
     <cf>issjdeodk1292983ls</cf> 
     <name>John</name> 
     <surname>Doe</surname> 
     <sex>M</sex>
   </registry>

也就是说,没有标记的同一个XML。 在这种情况下,如果我使用代码:        response.getProperty( “消息”)

发生错误。 我是否可以仅在存在的情况下使用机制来获取属性?

1 个答案:

答案 0 :(得分:0)

我不确定您使用的是哪个库,但在使用xmlpullparser时,您可以通过

查找是否有类似的标记
if (parser.getName() == "message") { ....