通过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( “消息”)
发生错误。 我是否可以仅在存在的情况下使用机制来获取属性?
答案 0 :(得分:0)
我不确定您使用的是哪个库,但在使用xmlpullparser时,您可以通过
查找是否有类似的标记if (parser.getName() == "message") { ....