Existing nodes can be removed from a document. To delete a node you have to get the handle to that node by either iterating through the document till you have found the node or by querying for a specific node. XmlRemoveChild takes the node handle and removes the node (and all the child nodes) from the document. The node handle will still be valid - so you can remove it from one position and append the node to another. You can even append the node to another XML document.