1

这个问题是针对在 xcode 中操作 NSString 的。

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

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

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

例如

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

2 回答 2

2

首先,下载 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"];
}
于 2012-08-27T19:14:42.800 回答
-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];
于 2012-08-27T19:01:02.360 回答