0

我正在从服务器请求以下 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

4

1 回答 1

0

你必须实现一个状态机

您有 3 个状态InitialSuccessFailed。您从 开始Initial,然后等到收到Result标签。您根据Result标签的内容切换状态 - 选择SuccessFailed

然后,当您处理相同的标签时,Reason您可以根据您所处的状态进行不同的处理。

如果您只对最后一个原因感兴趣,请继续将原因保存在状态变量中。当你完成解析时,它的值将是最后一个。

于 2013-07-21T14:15:54.430 回答