'vd code 
dim obj1 as object 
dim obj2 as object 
dim xmldoc as DOMDocument  
set xmldoc = new DOMDocument  
xmldoc.loadXML "<root>abc</root>" 
set obj1 = xmldoc 
'replace 
xmldoc.loadXML replace(xmldoc.xml,"oo","00") 
set obj2 = xmldocdebug.print obj1.xml 
debug.print obj2.xml 
结果 
打印出来的是 
<r00t>abc</r00t> 
<r00t>abc</r00t> 
而我希望得到 
<root>abc</root> 
<r00t>abc</r00t> 
ojb1 obj2 都指向了同一个对象,而 DOMDocument并没有提代类似 clone 方法,只有一个在这种情况用不上cloneNode 
请问vb 下关于对象的拷贝应该如何写?

解决方案 »

  1.   

    xmldoc.loadXML  xmldoc.xml 
    debug.print obj1.xml  
    debug.print replace(obj1.xml,"oo","OO")
      

  2.   

    Dim oElementA As MSXML2.IXMLDOMElement
    Dim oElementB As MSXML2.IXMLDOMElement
    Set oElementA = Me.XmlRoot.selectSingleNode("root")
    Set oElementB = obj1.createElement(repalce(oElementA.name,"oo","OO"))
    obj1.appendChild    oElementBdebug.print obj1.xml   
      

  3.   

    不不不,你没懂我意思,我想得到两个对象,
    我写了一个类模块,里面有两个属性,属性的类型是 object 
    一个是CurObj 一个是OldObj ,都是DOMDocument类型。 
    然后对这两个对象进行 XMLDOM一些 方法之类的操作
    即 
    set tmpObj as new DOMDocument   
    tmpObj.load "test.xml"
    '此时将tmpObj所有内容 拷贝 Oldobj 
    set Oldobj = tmpObj ' 我觉得应该这里错了。
    '对tmpObj 处理 
    '处理的过程略 
    '此时将处理过后的tmpOjb 所有内容拷贝给CurObj
    set curobj = tmpobj 
    '最后得到两个 DOMDocument对象 ,而不是两个指向同一个内存(tmpObj)的对象