我正在从服务器请求以下XML文件:
<CreateAccount>
<Customer>ApiTest</Customer>
<CustomerLoginName>ApiTest</CustomerLoginName>
<Result>Success</Result>
<Reason>Country added</Reason>
<Result>Success</Result>
<Reason>Timezone added</Reason>
<Result>Success</Result>
<Reason>Request completely succeeded</Reason>
</CreateAccount>
我对请求的结果和最后的原因感兴趣。如果出现错误,我收到此XML:
<CreateAccount>
<Customer>ApiTest</Customer>
<Result>Failed</Result>
<Reason>Request completely or partially failed.</Reason>
</CreateAccount>
如何处理相同的标签?我按照这些说明操作:http://developer.android.com/training/basics/network-ops/xml.html
答案 0 :(得分:0)
您必须实施state machine。
您有3种状态:Initial
,Success
和Failed
。您从Initial
开始,然后等到收到Result
标记。您可以根据Result
代码的内容切换状态 - 选择Success
或Failed
。
然后,当您处理相同的标记,例如Reason
时,您可以根据您所处的状态以不同方式处理它。
如果您只对最后一个原因感兴趣,请继续将原因保存在状态变量中。完成解析后,它的值将是最后一个。