Das Problem liegt in der Suchabfrage:
Zitat:
s := '/adressdb/Kontakt[id="'+IntToStr(ID)+'"]';
Du suchst nach einem Knoten <kontakt>, der eine bestimmte ID hat, und der sich
in einem Knoten <adressdb> befindet. Allerdings suchst du vom root-Knoten aus:
Node := FXMLDoc.documentElement.selectSingleNode(s);
und das ist ja bereits der <adressdb>-Knoten. Entweder machst du also
Node := FXMLDoc.selectSingleNode(s);
oder du lässt "/adressdb/" in der
XPath-Anfrage weg.
Und generell solltest du vor jedem Löschen/Bearbeiten/Hinzufügen auch prüfen, dass das Objekt nicht
nil ist. Sonst kassiert du immer eine
Exception, selbst wenn die Suchanfrage korrekt ist - wäre ja möglich, dass es den gesuchten Knoten nicht gibt.