Как разобрать xml из определенного тега - PullRequest
0 голосов
/ 03 февраля 2012

У меня есть XML-файл, я могу выполнить синтаксический анализ, используя синтаксический анализатор NSXML.Теперь я хочу начать разбор с конкретного тега, как это можно сделать?

<RootElement>
<City>
<Name>WC</Name>
<Time>6 am</Time>
<Notes>Hi</Notes>
</City>
  <State>
    <Name>ABC</Name>
    <Time>6 a.m.</Time>
    <Time>2 a.m.</Time>
    <Notes>This is a note for ABC</Notes>
  </State>
  <State>
    <Name>DEF</Name>
    <Time>8 am</Time>
    <Time>10 am</Time>
    <Notes>This is a note for DEF</Notes>
  </State>
</RootElement>

Теперь анализ должен начинаться с тега State, но он анализирует весь документ и отображает имя, время и заметки из тега City.Разбор по указанному тегу, как это можно сделать?

1 Ответ

1 голос
/ 03 февраля 2012

Взгляните на:

- (NSArray *)nodesForXPath:(NSString *)xpath error:(NSError **)error

РЕДАКТИРОВАТЬ: Пример кода

NSError* error;

CXMLDocument *doc = [[CXMLDocument alloc] initWithData:Data options:0 error:&error];

// figure out what nodes are in the doc, and pick it apart with the nodesForXPath call
NSArray * results =  [doc nodesForXPath:@"/RootElement" error:&error];
NSString * finalUrl = self.defaultURL;

if ( [results count] > 0 ) {
    NSString  * element = [(CXMLElement *)[results objectAtIndex:0] stringValue];
    if ( [element isEqualToString:@"State") {
        // Do state processing
    }
}
[doc release];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...