Представлять XML-контент как NSData - iPhone - PullRequest
2 голосов
/ 18 января 2011

У меня есть внешний XML-файл, который я хочу представить в объекте NSData

Я делаю это;

 NSError *error;
NSString* contents = [NSString stringWithContentsOfUrl:[NSURL URLWithString:@"http://www.apple.com/"]
                                              encoding:NSUTF8StringEncoding
                                                 error:&error];
NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding];

Но по некоторым причинам я получаю сообщение об ошибке (не отвечает)

Пожалуйста, помогите мне.

1 Ответ

2 голосов
/ 18 января 2011

У меня нет времени, чтобы проверить это, но я думаю, что вы, возможно, захотите посмотреть на dataWithContentsOfURL: или dataWithContentsOfURL:options:error: NSData и получить его непосредственно в виде данных.

Кроме того, если вы не добавили http://www.apple.com/ в качестве заполнителя, я не верю, что источником этой страницы является допустимый XML. Следующий фид действителен для xml: https://stackoverflow.com/feeds Вы можете попробовать это. сначала с тем, что у вас есть, и посмотрите, работает ли оно.

Надеюсь, это поможет.

Изменено:

Не зная вашего проекта, вы можете получить некоторую выгоду от использования TouchXML - https://github.com/mrevilme/TouchXML, который очень хорошо обрабатывает XML, включая то, что вы пытаетесь сделать:

CXMLDocument *xmlDoc = [[CXMLDocument alloc] initWithContentsOfURL:(NSURL *)inURL encoding:(NSStringEncoding)encoding options:(NSUInteger)inOptions error:(NSError **)outError];
...