Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) XML Document ReferencesThis example demonstrates the fact that the entire XML document remains in memory if at least one node is referenced. (It does not need to be the root node.)
Dim xml As Chilkat.Xml Set xml = Chilkat.NewXml success = xml.LoadXml("<a><b>BBB</b><c>CCC</c></a>") Debug.Print xml.GetXml() ' We have the following XML stored in memory: ' <?xml version="1.0" encoding="utf-8"?> ' <a> ' <b>BBB</b> ' <c>CCC</c> ' </a> ' Get a reference to the 1st child. Set xB = xml.GetChild(0) ' Re-load "xml" with an entirely new document: success = xml.LoadXml("<z><x>XXX</x></z>") ' What happens to xB? ' The answer is nothing. xB still points ot the "b" node in the original document, and the entire ' original document remains in memory. We now have two XML documents in memory. Debug.Print xB.GetXml() ' output is: ' <b>BBB</b> ' Make xB reference the root node of its document: xB.GetRoot2 Debug.Print xB.GetXml() ' You can see here that the entire original XML document is still available ' because at least one node in the XML is referenced by a variable. ' The output is: ' <?xml version="1.0" encoding="utf-8"?> ' <a> ' <b>BBB</b> ' <c>CCC</c> ' </a> ' We can also see that "xml" contains an entirely new XML document: Debug.Print xml.GetXml() ' <?xml version="1.0" encoding="utf-8"?> ' <z> ' <x>XXX</x> ' </z> ' |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.