Пример libxml2 (с оберткой)
Я использую синтаксический анализатор XML libxml2 с оболочкой, как указано на странице http://cocoawithlove.com/2008/10/using-libxml2-for-parsing-and-xpath.html
Но я не уверен, правильно ли я использую и получаю ошибки (разбор и т. Д.)
Так может кто-нибудь, пожалуйста, предоставьте мне полный пример, на который я могу сослаться и получить представление, если я делаю что-то неправильно
Большое спасибо за всю вашу помощь заранее.
1 ответ
Я тоже использую эти методы для разбора 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" вы будете получать только элементы тегов элементов (или для получения только первого элемента используйте "/rss/channel/item[1]").
в этом случае из-за структуры канала bbc вы можете поймать заголовок каждого элемента в
[[[[rssFeedArray objectAtIndex:i] valueForKey:@"nodeChildArray"] objectAtIndex:0] valueForKey:@"nodeContent"]]
и описание на
[[[[rssFeedArray objectAtIndex:i] valueForKey:@"nodeChildArray"] objectAtIndex:1]valueForKey:@"nodeContent"]]
и продолжать и продолжать.