uses ComObj;type
    DOMDocument     = OleVariant;
    IXMLDOMElement  = OleVariant;
    IXMLDOMNode     = OleVariant;
    IXMLDOMNodeList = OleVariant;////////////////////////////////var     objXML     : DOMDocument;
        objElement : IXMLDOMElement;
        objNode    : IXMLDOMNode;var     id:string;    id:=edit1.Text;
    id:=format('//book[@ID="%s"]',[id]);
    objXML := CreateOleObject('MSXML.DOMDocument');
    objXML.load('1.xml');
    objNode := objXML.selectSingleNode(id);
    objNode := objNode.cloneNode(True); //copy
    objElement := objXML.documentElement.appendChild(objNode);
    objXML.Save('2.xml');
    showmessage(objNode.xml);