0
私はXML、libxml、およびxpathを完全に新しくしています。そのため、私は非常に単純なXML式Iは、私はのlibxmlを使用して、次のコードを書いた値1を取得したいlibxml:xpathが見つかりません?
<count>
<active type="integer">1</active>
</count>
を解析したかった(このコードはObjective 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を返します。
私はここで何が間違っていますか?