2

我目前正在使用 NSURLConnection 通过服务器上的 php 脚本从数据库下载一些日期。

连接工作正常,数据接收正确。但是,当我解析数据时遇到了问题。

我目前正在尝试使用 NSXMLParser 来解析数据,但是由于错误代码 4 失败,我认为这是因为我检索的内容并不完全是 XML。如果它完全是 XML,它可以工作。

这是检索到的数据的示例:


43534545-45345345-34534554|iPhone emulator|<provdoc>
<characteristic type="P1">
...
</characteristic>
</provdoc>

我想做的是将数据拆分为:

43534545-45345345-34534554

和:

iPhone emulator

<provdoc>
<characteristic type="Profile1">
...
</characteristic>
</provdoc>

所以我猜我应该在下面接收数据的函数中这样做,我需要知道如何将数据分成上述三个部分?

所以我最终得到了两个字符串,第一个带有数字,第二个带有 iPhone 模拟器位,然后是可以通过 NSXMLParser 发送的数据。

谁能指出我正确的方向,因为我需要你来完成它?

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{

    [self.responseData appendData:data];

}
4

1 回答 1

2

将最终的 NSData 转换为 NSString:

NSString *someString = [[NSString alloc] initWithData:hashedData encoding:NSUTF8Encoding];

然后你需要开始拆分那个字符串。这是获取第一部分的示例:

NSRange end = [someString rangeOfString:@"<"];
NSString *str = [someString substringWithRange:NSMakeRange(0, end.location)];

然后拆分第一个:

NSArray *initialItems = [str componentsSeparatedByString:@"|"];

您应该能够通过上述技术找出其余部分。

于 2011-05-26T17:52:50.480 回答