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を返すことがわかります。
前もって感謝します。