0

好的,这就是我使用我的应用程序的地方。我有一些代码可以连接到远程服务器并获取一些 XML 数据,并将其形成一个字符串。下面是代码:

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"GET"];
NSString *accept = [NSString stringWithFormat:@"application/xml"];
[request addValue:accept forHTTPHeaderField: @"Accept"];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString* responseString = [[NSString alloc] initWithData:returnData encoding: NSUTF8StringEncoding];
NSLog(@"%@",responseString);

哪个返回

在此处输入图像描述

这正是我想要的信息。我的问题是如何从金括号中获得双重价值并进入我的应用程序使用。

非常感谢!

4

2 回答 2

0

有很多关于如何使用的教程NSXMLParser。例如,ray wenderlichherehere

于 2013-10-13T04:52:27.437 回答
0

有很多可用的 XML 解析选项 - 从 libxml2 到 NSXMLParser 和许多开源项目。

我最喜欢的 XML 解析器之一是RaptureXML,它可以通过CocoaPods安装。

我喜欢在 RXMLElement 上创建一个类别来解析如下:

- (PFCurrentConditions*)asCurrentCondition
{      

    NSString* summary = [[self child:@"weatherDesc"] text];
    PFTemperature* temp = [PFTemperature temperatureWithFahrenheitString:[[self child:@"temp_F"] text]];
    NSString* humidity = [[self child:@"humidity"] text];
    NSString* wind =
            [NSString stringWithFormat:@"Wind: %@ km %@", [[self child:@"windspeedKmph"] text], [[self child:@"winddir16Point"] text]];
    NSString* imageUri = [[self child:@"weatherIconUrl"] text];

    return [PFCurrentConditions conditionsWithSummary:summary temperature:temp humidity:humidity wind:wind imageUrl:imageUri];

}

因此,您可以按如下方式使用它:

RXMLElement* rootElement = [RXMLElement elementFromXMLData:response.responseData];    
__autoreleasing PFWeatherReport* weatherReport = [rootElement asWeatherReport]; 

同样,这是无数选择之一,但我个人最喜欢。

于 2013-10-13T08:27:28.800 回答