A Chilkat XML object represents a single node within an XML document. The “root” is the topmost node in the XML document tree. As long as at least a single reference to a node (anywhere in the tree) exists, the entire XML tree remains in memory.
Typically, an XML API returns a new node object when navigating. Chilkat XML does this also. For example:
// Get the 1st child: Chilkat.Xml childNode = xmlDoc.GetChild(0);
For efficiency, Chilkat provides alternate methods such that instead of returning a new object, the internal pointer of the Chilkat XML object is updated. This can vastly reduce the proliferation of objects that might need to be allocated/deallocated or garbage collected. For example:
xmlDoc.GetChild2(0); // xmlDoc now references the 1st child. xmlDoc.GetParent2(); // xmlDoc is now back to where it began. // Regardless of the location of an XML object in the tree, // you may always return to the document root like this: xml.GetRoot2();