2011-12-01 98 views
-1

我知道如何用SAX解析器解析XML。我的XML是这样的:如何使用相同的标签名称解析XML?

-<address_component> 
    <long_name>Chambers St</long_name> 
    <short_name>Chambers St</short_name> 
    <type>route</type> 
</address_component> 
-<address_component> 
    <long_name>Downtown</long_name> 
    <short_name>Downtown</short_name> 
    <type>neighborhood</type> 
    <type>political</type> 
</address_component> 

我的问题:当XML有两个标签具有相同的名称,就像在这种情况下,“类型”,我的代码只得到最后一个变量的值。在这种情况下,“类型”变得“政治化”,并跳过“邻居”。

我该如何处理?

+6

你用来解析它的代码会非常有帮助。 ;) – Tomalak

+0

我想从这个URL解析XML http://maps.googleapis.com/maps/api/geocode/xml?latlng=25.665393829345703,-80.29926147460938&sensor=true任何建议? – Maulik

回答

2

听起来好像你的代码并不是为了处理多个type元素而设计的,所以它只会保存它遇到的最后一个元素。这是你的代码的限制(你没有显示)。您需要重新编写代码以接受多个type元素,例如将遇到的每个type存储到String[]数组中,而不是单个String变量。

0

考虑到,你确实使用SAX解析器,你的回调(startElement/endElement等)应该为'type'元素激发。也许,如果你可以发布一些代码,问题会变得更加明显。

+0

我想从此URL解析XML http://maps.googleapis.com/maps/api/geocode/xml?latlng=25.665393829345703,-80.29926147460938&sensor=true任何建议? – Maulik

相关问题