![]() |
![]() | ![]() | ![]() | Altova Mailing List Archives>Archive Index >microsoft.public.xml Archive Home >Recent entries >Thread Prev - Element object reference is 'detached' from its DOM [Thread Next] Re: Element object reference is 'detached' from its DOMTo: NULL Date: 3/3/2005 6:19:00 PM Oops, my fault! (I'm embarrassed :-{ )
Under this condition, the DOM was being inadvertantly reloaded after the
reference was set to that particular Element. So the Element was pointing to
DOMRef #1 which wasn't referenced any more by m_XDOM which was now loaded
with DOMRef #2. (Interesting how the original DOM is still hanging out in
memory which leaves the Element reference as valid, it just doesn't happen
to be pointing to the DOM which is referenced by m_XDOM. But it does make
sense.)
Anyway, I think there's a valuable lesson here. If you have a Node or
Element which is 'detached' from its underlying DOM, check to see whether
that DOM has been reloaded since the reference was set, since this will mean
that the DOM is actually no longer the underlying DOM for the Node or
Element reference.
- Joe Geretz -
"Joseph Geretz" <jgeretz@n...> wrote in message
news:%23FbZZHCIFHA.3376@T......
> The following method initializes my XML DOM and creates a reference to the
> root <certificate> Node. The rest of the code adds licenses (<license>
> nodes) to the certificate. This method is called under two circumstances;
> creating a new certificate or importing an existing certificate.
>
> In the former case, I initialize the DOM by loading "<certificate />" via
> the LoadXML method. I then set the m_XCert Element to the <certificate>
> node. Subsequent additions to the m_XCert node are reflected in m_XDOM (as
> expected).
>
> In the latter case, the DOM is initialized by loading a full-fledged
> certificate DOM which also contains the root <certificate> node but which
> also has additional information as well. Other than the initialization
> string everything proceeds exactly the same. However, under this
> circumstance I'm finding that when subsequently adding Nodes to the
> m_XCert Element, this is not reflected in m_XDOM. The m_XCert Element is
> somehow detached from the DOM to which it should be connected!
>
> I'll be extremely grateful for any advice on when may be the problem.
>
> Thanks!
>
> - Joe Geretz -
>
> Private Sub zInitCert(Optional Cert As String = "")
>
> lstLicenses.Clear
> lstLicenses.AddItem C_ADDITEM
>
> Set m_XDOM = New DOMDocument40
>
> If Cert = "" Then
> m_XDOM.loadXML "<certificate/>"
> Else
> m_XDOM.loadXML Cert
> End If
>
> Set m_XCert = m_XDOM.selectSingleNode("certificate")
> m_XCert.setAttribute "expires", Format$(Now + 5, "yyyymmdd")
> dtpCertExp.Value = Now + 5
>
> lstLicenses.ListIndex = 0
>
> m_SnapShot = m_XDOM.xml
>
> End Sub
>
>
| ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||||
|
