Не удается разобрать xml с помощью touch xml - PullRequest
0 голосов
/ 20 октября 2011

Я новичок в программировании и у меня проблема. Я использовал touchxml для разбора, и раньше не было никаких проблем. Теперь я хочу разобрать строку XML. Я просмотрел весь интернет, но не могу найти ответ. (Я никогда не делал initWithXMLString, прежде чем, может быть, я здесь что-то не так делаю?)

Мой текущий код для разбора:

NSArray *resultNodes = NULL;
CXMLDocument *rssParser = [[CXMLDocument alloc] initWithXMLString:str options:0 error:nil]; 
NSString *strName;
resultNodes = [rssParser nodesForXPath:@"//FictionBook" error:nil];
NSLog(@"RESULT NODE COUNT =%d",[resultNodes count]);

и моя строка выглядит так:

"<?xml version="1.0" encoding="UTF-8"?>
<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"><description><title-info><genre>prose_contemporary</genre> <author><first-name>Мария</first-name><last-name>Метлицкая</last-name><id>f97cbf85-bb7c-102b-8639-bb1d5f8374bd</id></author><book-title>Наша маленькая жизнь (сборник)</book-title> <annotation><p>Мария Метлицкая рассказывает о простых людях – они не летают в космос, не блистают на подмостках сцены, их не найдешь в списке Forbеs.</p></annotation></description></title-info></FictionBook>"

XML-данные должны быть действительными, я проверил около 10 XML-валидаторов.

Но я получаю 0 из [resultNodes count].

Кто-нибудь сталкивался с чем-то подобным раньше?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 20 октября 2011

Сначала получите xml-подтверждение или нет по этому http://www.xmlvalidation.com/, и если оно проверено, то вы не получите никакого ответа, тогда вам следует проверить код ошибки, что выдает ошибка синтаксическим анализатором xml, а затем попытатьсяпо коду ошибки в чем проблема.

0 голосов
/ 20 октября 2011

Попробуйте проверить, не было ли ошибки при разборе:

NSError *error;
NSArray *resultNodes = NULL; 
CXMLDocument *rssParser = [[CXMLDocument alloc] initWithXMLString:str options:0 error:&error];
NSLog("Error: %@",error);

Также содержит ли ваш XML элементы с пространствами имен?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...