TXMLDocument и работа с XPath

Интересный код, для работы с XPath. Надо понимать что штука очень сильная и медленная.

Результат выполнения будет, в Memo1 будет - «Привет мир!»

<?xml version="1.0" encoding="UTF-8" ?>
<collection>
    <element name="connect">
<![CDATA[Привет мир!]]>
    </element>
</collection>

И вот код чтения по атрибуту

procedure TForm1.FormCreate(Sender: TObject);
var
    iNode : IDOMNode;
    Sel: IDOMNodeSelect;
begin
    //
    try
        XMLDocument1.FileName := 'TheXML.xml';
        XMLDocument1.Active := True;
        Sel := XMLDocument1.DOMDocument as IDomNodeSelect;
 
        iNode := Sel.selectNode('//element[@name="connect"]/text()');
        if Assigned(iNode) and (not VarIsNull(iNode.nodeValue)) then begin
            Memo1.Lines.Text := VarToStr(iNode.nodeValue);
        end;
    except on E: Exception do
        MessageDlg(E.ClassName + ': ' + E.Message, mtError, [mbOK], 0);
    end;
end;