Пример libxml2 (с оберткой) - PullRequest
       26

Пример libxml2 (с оберткой)

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

Я использую синтаксический анализатор XML libxml2 с оберткой, как указано на странице http://cocoawithlove.com/2008/10/using-libxml2-for-parsing-and-xpath.html

Но я не уверен, правильно ли я использую и получаю ли ошибки (анализ и т. Д.)

Так может кто-нибудь, пожалуйста, предоставьте мне полный пример, на который я могу сослаться и получить представление, если я что-то делаю неправильно.

Большое спасибо за всю вашу помощь заранее.

1 Ответ

2 голосов
/ 01 марта 2011

Я тоже использую эти методы для разбора файлов xml и html. Например для разбора rss xml:

//add xml source
NSURL *url = [NSURL URLWithString:@"http://feeds.bbci.co.uk/news/rss.xml?edition=int"];     
NSData *xmlData = [NSData dataWithContentsOfURL:url];

//parse the whole file with all tags
NSArray *rssFeedArray = PerformXMLXPathQuery(xmlData, @"//*");
NSLog(@"rssFeedArray: %@", rssFeedArray);

// * - запрос означает, что парсер будет проходить через все теги файла. Затем зарегистрируйте массив, чтобы увидеть всю структуру XML.

При запросе '/ rss / channel / item' вы получите только теги элемента item (или для получения только первого элемента используйте '/rss/channel/item[1]').

в этом случае из-за структуры канала bbc вы можете поймать каждый заголовок элемента на

[[[[rssFeedArray objectAtIndex:i] valueForKey:@"nodeChildArray"] objectAtIndex:0] valueForKey:@"nodeContent"]]

и описание на

[[[[rssFeedArray objectAtIndex:i] valueForKey:@"nodeChildArray"] objectAtIndex:1]valueForKey:@"nodeContent"]]

и продолжайте в том же духе.

...