- 论坛徽章:
- 1
|
自己写了一个,大致就这么个意思,大家可以参考一下
,一些底层函数自己写的,请赐教
int setnode(char *rhFldPath,char *rhFldName,char *acValue)
{
char * nodeSet[50];/*最大50层*/
char tempPath[512];
char nodePath[512];
char xpath[512];
xmlNodePtr cur,curNode;
int len=0,i;
memset(nodePath,0,sizeof(nodePath));
sprintf(nodePath,"%s/%s",rhFldPath,rhFldName);
len = split('/', nodePath, nodeSet, 50);
cur = root;
strcpy(xpath,"/Document");
for( i=0; i<len; i++ )
{
memset(xpath,0,sizeof(xpath));
memset(tempPath,0,sizeof(tempPath));
strcpy(tempPath,nodeSet);
sprintf(xpath,"%s/%s",xpath,tempPath);
if ( NULL == (curNode = XMLGetNode(doc, xpath)) )
{
curNode= xmlNewChild(cur, NULL, tempPath, NULL);
if(NULL == curNode)
{
printf(-1, " 生成节点错!xpath=[%s]",xpath);
}
if ( i == len -1 )
{
XMLSetNodeText(curNode,acValue) ;
}
cur = curNode;
}
else
{
if ( i == len -1 )
{
XMLSetNodeText(curNode,acValue) ;
}
}
}
return 0;
}
[ 本帖最后由 lyl2002 于 2009-7-17 08:47 编辑 ] |
|