vb下如何关于对象的拷贝
'vd codedim 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 = xmldoc
debug.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 下关于对象的拷贝应该如何写? xmldoc.loadXML xmldoc.xml
debug.print obj1.xml
debug.print replace(obj1.xml,"oo","OO") 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 oElementB
debug.print obj1.xml 不不不,你没懂我意思,我想得到两个对象,
我写了一个类模块,里面有两个属性,属性的类型是 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)的对象
补充:VB , 基础类