Как извлечь конкретную строку в XML без разбора в iPhone? - PullRequest
0 голосов
/ 14 февраля 2011

Я получил данные, используя NSURLConnection, и я получил следующие строки, которые представляют собой XML-форматы строк.Теперь я хочу взять узел статуса строки.Я хочу взять эту строку без анализа XML.

 -(void)connectionDidFinishLoading:(NSURLConnection *)connection{

     NSString *urlDataString = [[NSString alloc] initWithData:self.recieveData encoding:NSUTF8StringEncoding];

Возвращаемая строка:

    <?xml version="1.0" encoding="Utf-8"?><blacksheep><status>Success</status></blacksheep>

Вывод:

  Succeess

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

Спасибо.

1 Ответ

3 голосов
/ 14 февраля 2011
NSString* str = @"<?xml version=\"1.0\" encoding=\"Utf-8\"?><blacksheep><status>Success</status></blacksheep>";
NSString* status = [[[[str componentsSeparatedByString: @"<status>"] objectAtIndex: 1] componentsSeparatedByString: @"</status>"] objectAtIndex: 0];

Но будьте осторожны: это короткий, но не очень безопасный метод. Так что лучше добавить несколько дополнительных проверок.

Редактировать: лучший способ -

NSString* status = @"Failed";
NSArray* arr = [str componentsSeparatedByString: @"<status>"];
if( [arr count] > 1 ) {
      status = [[[arr objectAtIndex: 1] componentsSeparatedByString: @"</status>"] objectAtIndex: 0];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...