Разобрать XML из строки с помощью XPath в Bada?

Я прочитал руководство по XML парсинг в Bada. Но я не хочу использовать файл . Мне нужно проанализировать мой XML из Osp::Base::String. Любые идеи, какие методы я должен использовать? Пока что я заменил

xpathCtx = xmlXPathNewContext(doc);
if(xpathCtx == NULL) {
   AppLog("Error: unable to create new XPath context");
   xmlFreeDoc(doc);
   return(E_IO);
}

с участием

xpathCtx = (xmlXPathContextPtr) xmlXPathNewCString("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><title lang=\"en\">XQuery Kick Start</title><title lang=\"en\">Learning XML</title>");

Но эмулятор просто закрывается.

Спасибо.


person Boris Rusev    schedule 20.07.2010    source источник


Ответы (1)


Ваш код неверен, потому что вы не можете преобразовать xmlXPathObjectPtr в xmlXPathContextPtr: это разные структуры.

Код, приведенный в учебнике, правильный, просто используйте

xmlDocPtr xmlReadDoc (const xmlChar * cur, const char * URL, const char * encoding, int options)

вместо

xmlReadFile(..)

Чтобы понять, как использовать эту функцию, ознакомьтесь с документацией и примерами на веб-сайте libXML2.

person 3mpty    schedule 20.07.2010
comment
Вы совершенно правы, мой друг. Я просто хочу, чтобы вы правильно ответили на мой вопрос, прежде чем я сам решил проблему. Ирония здесь в том, что в настоящее время я анализирую свой XML не из строки, а из файла, как в учебнике. Я надеюсь, что это не сильно снизит производительность моего приложения. - person Boris Rusev; 21.07.2010