TXMLDocumentResync (C++)
Description
The following example uses the Resync function.
Code
void Test_Resync() {
	_di_IXMLDocument document = interface_cast<Xmlintf::IXMLDocument>
		(new TXMLDocument(NULL));
	const String s = "<TestElement><!-- TestComment --></TestElement>";
	document->LoadFromXML(s);
	// Cache the document element ChildNodes.Count property.
	// Otherwise resync is unnecessary.
	const int count = document->DocumentElement->ChildNodes->Count;
	// Modify the document element child nodes through the DOM interface.
	_di_IDOMCDATASection node;
	const int createResult = document->DOMDocument->createCDATASection
		("test node", node);
	_di_IDOMNode resultAppend;
	document->DocumentElement->DOMNode->appendChild(node, resultAppend);
	// The two child lists are now different.
	printf("document->DocumentElement->ChildNodes->Count: %d\n",
		document->DocumentElement->ChildNodes->Count);
	printf("document->DocumentElement->DOMNode->childNodes->length: %d\n",
		document->DocumentElement->DOMNode->childNodes->length);
	document->Resync();
	printf("\nAfter resync...\n");
	// The two child lists are now synchronized.
	printf("document->DocumentElement->ChildNodes->Count: %d\n",
		document->DocumentElement->ChildNodes->Count);
	printf("document->DocumentElement->DOMNode->childNodes->length: %d\n",
		document->DocumentElement->DOMNode->childNodes->length);
}
Uses
- Xml.XMLDoc.TXMLDocument.LoadFromXML ( fr | de | ja )
- Xml.XMLDoc.TXMLDocument.DOMDocument ( fr | de | ja )
- Xml.XMLDoc.TXMLDocument.Resync ( fr | de | ja )