curNodePtr 为当前要修改的元素名<class>One</class> 我现在要把他修改为<grade>One</grade>
应该怎么操作? sVal为改变后的元素名。
curNodePtr->Gettext();可以得到当前文本 如 :<class>One</class> 中的OneBOOL CTreeXmlDlg::AlterNodeNameToXML(IXMLDOMNodePtr &curNodePtr,CString sVal)
{ //curNodePtr->replaceChild(oldNodePtr,newNodePtr);

//curNodePtr->insertBefore(newNode);
IXMLDOMNodePtr newNode =  xdoc->createElement(_bstr_t(sVal));//创建新元素
//curNodePtr->insertBefore(newNode,_variant_t(sVal));  
//xdoc->replaceChild(newNode,curNodePtr);
//curNodePtr->
xdoc->save(g_filePath);
return TRUE;
}

解决方案 »

  1.   

    其实就是 replaceChild()函数该怎么用? 那位大侠帮个忙啊!!
      

  2.   

    // 添加一个新元素<Grade>,值为one
    // 然后删除原有的元素<Class>
      

  3.   

    pParentNode = m_pCurNode->GetparentNode();
    pParentNode->replaceChild(pNewNode, m_pCurNode);
      

  4.   

    // 在MSDN上有个叫做 XMLTree.exe的下载,其中是MSXML操作的示例程序(VC6源代码)
      

  5.   

    不错 答到点了  我但是能不能告诉我 怎么创建新的结点  是用 MSXML::IXMLDOMDocumentPtr xdoc吗?;xdoc ->createNode(//参数怎么设置) 我现在打算先建一个新的然后删掉他  什么指针->insertBefore((//参数怎么设置)   能不能更详细一点! 我这不能下载!
      

  6.   

    我自己搞定了 谢谢你的提醒 分给你MSXML::IXMLDOMElementPtr node = xdoc->createElement(_bstr_t(sVal));
    node->Puttext(curNodePtr->Gettext());
    curNodePtr->GetparentNode()->replaceChild(node,curNodePtr);
    xdoc->save(g_filePath);