我正在嘗試編寫一個函數,該函數將在xml文件中查找具有指定名稱的節點。 問題是該函數從未找到指定的節點。使用libxml2查找xml文件中的節點
xmlNodePtr findNodeByName(xmlNodePtr rootnode, const xmlChar * nodename)
{
xmlNodePtr node = rootnode;
if(node == NULL){
log_err("Document is empty!");
return NULL;
}
while(node != NULL){
if(!xmlStrcmp(node->name, nodename)){
return node;
}
else if(node->children != NULL){
node = node->children;
xmlNodePtr intNode = findNodeByName(node, nodename);
if(intNode != NULL){
return intNode;
}
}
node = node->next;
}
return NULL;
}
我可以在調試器中看到函數確實深入到子節點中,但仍返回NULL。
在此先感謝。
是否有您沒有使用XPath API的原因? – apmasell
不,沒有理由:)我剛開始使用libxml2,所以我只是在玩它。 – SneakyMummin