2010-07-20 179 views
1

我已閱讀Bada的XML parsing教程。但我不想使用文件。我需要從Osp :: Base :: String解析我的XML。任何想法我應該使用哪種方法?到目前爲止,我已經取代在Bada中使用XPath從字符串解析XML?

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>"); 

但仿真器直接關閉。

謝謝。

回答

1

您的代碼錯誤,因爲您無法從xmlXPathObjectPtr轉換爲xmlXPathContextPtr:它們是不同的結構。

在本教程中給出的代碼是正確的,只是用

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

,而不是

xmlReadFile(..)

要了解如何使用此功能,看看該文檔,並在libXML2網站上的例子。

+0

你完全對我的朋友。我只希望你在我自己解決問題之前正確回答了我的問題。這裏的諷刺之處在於,我目前不是從字符串中解析XML,而是從文件解析XML,就像在教程中一樣。我希望這不會大大降低我的應用程序性能。 – 2010-07-21 08:24:53