从NSString的解析XML得到的值(Parsing XML from NSString to g

2019-06-27 11:00发布

这个问题是在Xcode操纵的NSString。

我有一个XML文本字符串,从我看起来像这样的网站得到

<current temperature="73" day="Mon" humidity="59" windspeed="10"></current>

我怎样才能得到这个字符串的单个值和把它们放在我的NSString变量?

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

Answer 1:

首先,下载并作为描述你的项目中包括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"];
}


Answer 2:

其基本思想是使用的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];


文章来源: Parsing XML from NSString to get values