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 )