0

我对 iphone 开发非常陌生,我被要求使用 nsxml 解析器从 google api 解析 xml。我已经解析了另一个具有 xml 的 url,但我无法解析 google,因为它使用 id 来存储数据而不是在标签内。IE

<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>

有人可以帮助我如何解析标签内的属性。

4

2 回答 2

2

NSXMLNode 的名称和值分别由方法namestringValue给出。对于属性节点,这些是属性名称和值。

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];
    }
}
于 2010-03-12T13:42:05.583 回答
1

有人可以帮助我如何解析标签内的属性[使用 NSXMLParser]。

在您的parser:didStartElement:namespaceURI:qualifiedName:attributes:解析器委托中,实现方法。属性将在解析器在最后一个参数中为您提供的字典中。

于 2010-03-13T18:58:37.027 回答