0

我是 android 新手,我正在寻找 android 中的 sax 解析。我在搜索时有太多示例,但没有一个符合我的要求,所以我在这里发布我拥有的 XML 结构和我的要求。

<vehicle_appname version="1.0">

<vehicle_selection>

<vehicle_selection_option name="car">

<vehicle_issues>
<vehicle_item id="1" vehicle_filename="honda" vehicle_fileurl="honda13" icon_image="hodaFeb13.png" vehicle_heading="1.png" chapter_count="45"/>
<vehicle_item id="2" vehicle_filename="benz" vehicle_fileurl="Woman_feb13" icon_image="benzfeb13.png" vehicle_heading="1.png" chapter_count="6"/>
</vehicle_issues>

</vehicle_selection_option>

<vehicle_selection_option name="jeep">

<vehicle_issues>
<vehicle_item id="1" vehicle_filename="mahindra" vehicle_fileurl="mahindra" icon_image="mahindra_Feb13.png" vehicle_heading="1.png" chapter_count="45"/>

</vehicle_issues>


</vehicle_selection_option>

</vehicle_selection>
</vehicle_appname>

这里的vehicle_selection_option名称是一个标题标签,而vehicle_item标签包含该标题的内容,可以有一个或多个内容标签。我的要求:

  1. 我想解析这个xml。我知道 XML sax 解析很容易,但是在这里我嵌套了 xml 文件。因此车辆标记中的值必须适合其标题(vehicle_selection_option 标记)。
  2. 我想在列表视图中显示这些内容。
4

2 回答 2

0

在 startElement 方法上使用 vlaue"vehicle_selection_option" 检查 localValue(startElement 的参数)并创建 Vechile 的对象(您用于存储车辆信息)并在 endElement 方法中检查相同的字符串并将此对象添加到集合(即 ArrayList )。解析整个数据后,您将获得集合(ArrayList)中的所有车辆对象。

于 2013-02-19T11:43:35.310 回答
0

压倒一切startElementendElement是你所需要的。实际上startElement会通知一个元素的开始。同时endElement会通知一个元素的结束。这样您就可以跟踪 vehicle_selection_option打开和关闭的时间

像这样:检查错字

boolean newCar = false;
@override
public void startElement(String uri, String localName,String qName, 
                Attributes attributes) throws SAXException {
   if (qName.equalsIgnoreCase("vehicle_selection_option"))
      newCar = true;
 }

@override
public void endElement(String uri, String localName,String qName, 
                Attributes attributes) throws SAXException {
   if (qName.equalsIgnoreCase("vehicle_selection_option"))
      newCar = false;
 }
于 2013-02-19T11:16:07.260 回答