Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Probleme beim Löschen eines Nodes

  Alt 18. Apr 2004, 22:43
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?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat