XMLPullParser没有读取<hours> </hours>之类的空标签

时间:2013-04-17 05:43:19

标签: android xml xmlpullparser

下面是我的XML,我将使用XMLPullParser解析它。解析器正确地从诸如

之类的标签中读取值
<hours>Monday: 1:00 PM - 3:00 PM Thursday: 8:30 AM - 12:30 PM</hours> 

但是如果webservice没有给出时间数据,则hours标记为空:

<hours/>

和XMLPullParser会跳过这些标记。我想从这些标签中读取空值或空字符串。

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <city_data>
    <city_details>
      <id>1</id>
      <city>City1</city>
      <location>5390 Park</location>
      <phoneno>239-963</phoneno>
      <fax>239-963</fax>
      <hours>Monday: 1:00 PM - 3:00 PM Thursday: 8:30 AM - 12:30 PM</hours>
      <latitude>26.2134964</latitude>
      <longitude>-81.7672781</longitude>
      <action>2</action>
    </city_details>
  </city_data>
  <city_data>
    <city_details>
      <id>2</id>
      <city>City2</city>
      <location>13100 Westlinks</location>
      <phoneno>239</phoneno>
      <fax>239-332</fax>
      <hours/>
      <latitude>26.553446</latitude>
      <longitude>-81.7560699</longitude>
      <action>2</action>
    </city_details>
  </city_data>
</root>

1 个答案:

答案 0 :(得分:3)

您需要使用XmlPullParser.isEmptyElementTag()来检测空标记,例如&lt; hours /&gt;。这将允许您处理

  

&lt; hours&gt;星期一:下午1:00 - 下午3:00星期四:8:30-12:30   PM&LT; /小时&GT;

不同
  

&LT;小时/&GT;

文档在这里:XmlPullParser.isEmptyElementTag