Я так понимаю, вы используете libxml вместе с упаковщиками Какао Мэтта Галлахера? (Полезно указать, какие сторонние библиотеки вы используете в своем вопросе.)
Когда я это сделал, я изменил код Мэтта так, чтобы PerformXPathQuery
принял дополнительный аргумент, NSDictionary пространств имен. (Другие функции, такие как PerformXMLXPathQuery
, также принимают этот аргумент и проходят через объект.)
Затем, в PerformXPathQuery
, после создания контекста я зарегистрировал пространства имен следующим образом:
if (namespaces != nil)
{
for (NSString *key in namespaces)
{
xmlXPathRegisterNs(xpathCtx, (const xmlChar *)[key UTF8String], (const xmlChar *)[[namespaces objectForKey:key] UTF8String]);
}
}