我是iphone开发的新手,我被要求使用nsxml解析器从谷歌api解析xml。我已经解析了另一个有xml的网址,但我无法解析谷歌,因为它使用id来存储数据而不是内部标记。即。
<forecast_information>
<city data="Anaheim, CA"/>
<postal_code data="anaheim,ca"/>
<latitude_e6 data=""/>
<longitude_e6 data=""/>
<forecast_date data="2010-03-11"/>
<current_date_time data="2010-03-12 07:06:32 +0000"/>
<unit_system data="US"/>
</forecast_information>
有人可以帮我解释如何解析标签内的属性。
答案 0 :(得分:2)
NSXMLNode的名称和值分别由方法name和stringValue给出。对于属性节点,这些是属性名称和值。
NSXMLElement的属性由方法attributes给出,或者可以使用方法attributeForName:按名称访问特定属性。
NSXMLElement *forecast_information;
for( NSXMLElement *el in [forecast_information children] ) {
NSString *name = [el name];
NSString *value = @"";
if ([el attributeForName: @"data"]) {
value = [[el attributeForName: @"data"] stringValue];
}
}
答案 1 :(得分:1)
有人可以帮助我,我如何解析标签内的属性[使用NSXMLParser]。
在您的解析器委托中,实施the parser:didStartElement:namespaceURI:qualifiedName:attributes:
method。这些属性将位于解析器在最后一个参数中为您提供的字典中。