0
Я пытаюсь сделать запрос XPath с TouchXML, но если запрос завершился неудачно, программа немедленно сработает.Попытайтесь исправить ошибку с помощью TouchXML
Есть ли способ предотвратить это и продолжить выполнение программы.
Я знаю, что TouchXML основан на libxml2 и что у lib есть опция под названием XML_PARSE_RECOVER
, но я не знаю, как ее использовать с TouchXML.
Исходный код
- (id)initWithData:(NSData *)d
{
if (![super init])
return nil;
NSError *error;
translation = [[WRTranslation alloc] init];
parser = [[CXMLDocument alloc] initWithData:d options:0 error:&error];
if (error)
NSLog(@"initWithData error = true");
return self;
}
- (void)dealloc
{
NSLog(@"dealloc de WRTouchParser = %@", self);
[translation release];
[parser release];
[super dealloc];
}
- (BOOL)queryData:(NSString *)s
{
// Nécessaire pour faire une requête. Exemple : //x:div[@class="se"]
NSDictionary *mappings = [NSDictionary dictionaryWithObject:@"http://www.w3.org/1999/xhtml" forKey:@"x"];
NSArray *res = [parser nodesForXPath:s namespaceMappings:mappings error:nil];
queryResult = [res description];
return YES;
}
Я пытаюсь сделать неправильный XPath запрос так: // х: DIV [@cla
И я получаю:
XPath error : Invalid predicate
Можете ли вы опубликовать код, который вы используете, и e детали аварии? Я не использовал TouchXML, но кажется, что что-то не так, если оно рушится. –
Это только если я выполняю неправильный запрос XPath: например '// x: div [@ cla' – 2009-04-14 13:10:51