<?xml  version="1.0"  encoding="gb2312"?>  
<document>  
<List>  
     <aaaa>1</aaaa>  
     <bbbb>2</bbbb>  
</List>  
<Rule>  
<value>1</value>  
<value>2</value>  
<value>3</value>  
<value>4</value>  
<value>5</value>  
</Rule>  
</document>  
我想复制<Rule>节点下所有到一个新的节点,应该如何做,谢谢

解决方案 »

  1.   

    C/C++ Syntax
    HRESULT cloneNode(
        VARIANT_BOOL deep,
        IXMLDOMNode **cloneRoot);
    Parameters
    deep [in] 
    A flag that indicates whether to recursively clone all nodes that are descendants of this node. If True, creates a clone of the complete tree below this node. If False, clones this node and its attributes only. 
    cloneRoot [out, retval] 
    A newly created clone node. 建议在发帖之前查一下相关的文档^_^
      

  2.   

    文档早查了啊,我是用的这个函数,传的是true,我克隆<value>1</value>  可是没有得到
    文本的值,只得到了<value/>,文本丢了,怎么回事啊?
      

  3.   

    HRESULT hr;
    IXMLDOMDocument *pDom=NULL;
    IXMLHTTPRequest *pXmlHttp=NULL; hr=CoCreateInstance(CLSID_DOMDocument40,NULL,CLSCTX_ALL,IID_IXMLDOMDocument2,(void**)&pDom);
    IXMLDOMNode *pNode,*pNew,*pText,*pCopyTo;
    VARIANT vVal;
    vVal.vt=VT_I4;
    vVal.lVal=1;
    hr=pDom->createNode(vVal,A2BSTR("ROOT"),A2BSTR(""),&pNode);
    pDom->appendChild(pNode,NULL);
    hr=pDom->createNode(vVal,A2BSTR("First"),A2BSTR(""),&pNew);
    pNode->appendChild(pNew,NULL);
    vVal.lVal=3;
    pDom->createNode(vVal,A2BSTR("Second"),A2BSTR(""),&pText);
    pText->put_text(A2BSTR("Hello World"));
    pNew->appendChild(pText,NULL);
    CString strXml=ServerAction;
    BSTR bstrXml;
    pNew->cloneNode(VARIANT_TRUE,&pCopyTo);
    pCopyTo->get_xml(&bstrXml);
    strXml=bstrXml;你运行一下这段代码!!!好象不是你说的那样嘛