0
我完全是XML,libxml和xpath的新手。因此,我想分析一個非常簡單的XML表達libxml:找不到xpath?
<count>
<active type="integer">1</active>
</count>
我想檢索值1.我寫的libxml使用下面的代碼(此代碼包含目標C代碼):
const unsigned char* xPathExp = (const unsigned char*) "count/active/text()";
xmlXPathContextPtr xpathCtx = xmlXPathNewContext(doc);
xmlXPathObjectPtr xpathObj = xmlXPathEvalExpression(xPathExp, xpathCtx);
xmlNodeSetPtr nodeSetPtr = xpathObj->nodesetval;
if(nodeSetPtr != 0) {
xmlNode* node = nodeSetPtr->nodeMax > 0 ? nodeSetPtr->nodeTab[0] : 0;
if(node != 0) {
NSLog(@"Active Projects = %@", [self stringFromCString:node->name]);
} else {
NSLog(@"Node for xpath Exp: count/active/text() does not exist.");
}
} else
NSLog(@"nodeSetPtr is null");
xmlFreeDoc(doc);
xmlCleanupParser();
它事實證明,這種代碼的輸出是
nodeSetPtr is null
所以這讓我困惑。我在上面的xml上運行了一個在線xpath評估器,並且xpath表達式「count/active/text()」返回1.
我在做什麼錯誤?