从NSString解析XML以获取值

这个问题是在xcode中操纵NSString。

我有一个XML文本字符串,我从网上看到这样的字符串

 

如何从此字符串中获取单个值并将它们放入我的NSString变量中?

例如

 NSString *tempStr = ?? NSString *dayStr = ?? NSString *windspeedStr = ?? 

首先,如RaptureXML项目网站所述,在项目中下载并包含RaptureXML。

要解析单个给定行,请使用以下代码段 – 您的输入将作为inXmlString传递;

 //transform string into an XML DOM RXMLElement *rootNode = [RXMLElement elementFromXMLString:inXmlString withEncoding:NSUTF8StringEncoding]; if (rootNode == nil || ![rootNode isValid]) { //do something, we failed! } else { NSString *temperature = [rootNode attribute:@"temperature"]; NSString *day = [rootNode attribute:@"day"]; NSString *windspeed = [rootNode attribute:@"windspeed"]; } 

基本思想是使用NSString方法componentsSeparatedByString:来解析出你想要的数据。 您可能需要做更多的工作才能使其完全适合您的场景。

 NSArray* paArray1= [pstrXMLString componentsSeparatedByString:@" "]; temlStr= [[[paArray1 objectAtIndex:1] componentsSeparatedByString:@"="] objectAtIndex:1]; dayStr= [[[paArray1 objectAtIndex:2] componentsSeparatedByString:@"="] objectAtIndex:1]; windspeedStr= [[[paArray1 objectAtIndex:3] componentsSeparatedByString:@"="] objectAtIndex:1];