Ich komme irgendwie nicht weiter. Ich halte mich an das Tutorial von Chakotay.
Erstmal zum Aufbau der
XML-Datei:
XML-Code:
<?
xml version="1.0" encoding="ISO-8859-1" ?>
- <adressdb>
- <XMLFile>
<MajorVersion>1</MajorVersion>
<MinorVersion>0</MinorVersion>
<ModifyDate>2004-04-18</ModifyDate>
<ModifyTime>23:37:43</ModifyTime>
</XMLFile>
- <Kontakt>
<ID>1</ID>
<Name>Edit2</Name>
<Vorname>Edit3</Vorname>
</Kontakt>
- <Kontakt>
<ID>2</ID>
<Name>name</Name>
<Vorname>vorname</Vorname>
</Kontakt>
- <Kontakt>
<ID>3</ID>
<Name>Edit2</Name>
<Vorname>Edit3</Vorname>
</Kontakt>
</adressdb>
Mein Code zum Löschen sieht so aus:
Delphi-Quellcode:
procedure TContactClass.DelContact(ID: Cardinal);
var
Node: IXMLDOMNode;
s: String;
begin
s := '/adressdb/Kontakt[id="'+IntToStr(ID)+'"]';
Node := FXMLDoc.documentElement.selectSingleNode(s);
FXMLDoc.documentElement.removeChild(Node);
// modify date and time of TXMLFile record
EditXMLRecord;
FXMLDoc.save(FFilename);
end;
Beim Ausführen ist
Node allerdings
nil und bei
removeCild bekomme ich eine
Exception mit der Meldung "falscher Parameter". Wo steckt da der Fehler?