tinyxml 查找指定节点

 

根据节点名,查找指定节点,返回节点指针。

网上找到了一个这样的函数,但有问题,不能用,改了一下,能用......

//pRootEle 根节点  

//strNodeName 查找的节点名 

//destNode 查找的节点指针


bool GetNodePointerByName(TiXmlElement* pRootEle, const char* strNodeName,TiXmlElement* &destNode)
{
	// if equal root node then return
	if (0 == strcmp(strNodeName, pRootEle->Value()))
	{
		destNode = pRootEle;
		return true;
	}

	TiXmlElement* pEle = pRootEle;  
	for (pEle = pRootEle->FirstChildElement(); pEle; pEle = pEle->NextSiblingElement())  
	{  
		// recursive find sub node return node pointer	
		if (0 != strcmp(pEle->Value(), strNodeName))
		{
			GetNodePointerByName(pEle,strNodeName,destNode);
		}
		else
		{
			destNode = pEle;
			printf("destination node name: %s\n", pEle->Value());
			return true;
		}
	}  

	return false;
}


 
 

你可能感兴趣的:(win,c/c++)