如何在Android上使用SAX解析不同的XML文件?

时间:2010-08-27 12:01:12

标签: android xml parsing sax

我有以下情况。

我将XML文件作为请求发送到服务器并获取XML文件作为响应,并将其作为Android上的后台线程。

使用各种值序列化XML请求。然后,SAX读取XML响应并将其放入列表中。整个请求/响应过程使用AsyncTask类在后台线程中进行。

问题在于我有不同类型的响应,我不知道根据发送的请求解析响应采取什么方法。

如何告诉Android根据请求A使用解析器A并根据请求B使用解析器B?

编辑:对于不同类型的回复,我的意思是XML文件看起来不同。它有不同的标签和不同的属性。

2 个答案:

答案 0 :(得分:2)

以下是我看到的选项:

  1. 您可以根据请求(应该具有某种上下文)来建立解析功能。如果您知道请求是类型A,那么您知道响应必须使用解析器A.
  2. 您可以为所有类型设置通用解析器,并根据指示应该执行的操作的第一个已知标记或属性,在解析器中分支发生的内容。
  3. 先解析,然后分析。获取所有响应元素,并从中构建对象或对象图。传递它们,如果需要为你的应用程序改变它们(不要尝试编辑xml - 你毕竟解析它,并且你希望尽快完成)。
  4. 祝你好运!

答案 1 :(得分:1)

是所有消息响应对象,在xml响应中指定要指示的属性和对象类型

<response>
<error/>
<data type="A">
</data>
</response>

<response>
<error/>
<data type="B">
</data>
</response>