阅读XML - 如何处理相同的标签 - SAX

时间:2013-07-21 13:46:55

标签: android xml xml-parsing sax saxparser

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

1 个答案:

答案 0 :(得分:0)

您必须实施state machine

您有3种状态:InitialSuccessFailed。您从Initial开始,然后等到收到Result标记。您可以根据Result代码的内容切换状态 - 选择SuccessFailed

然后,当您处理相同的标记,例如Reason时,您可以根据您所处的状态以不同方式处理它。

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