![]() |
XML Eintrag löschen
Hi! :lol:
Ist es möglich eine subNode komplett zu löschen. Also wenn ich z.B. alle gespeicherten Daten zu einem Film, der einer FilmID zugeordnet ist, löschen will, dann will ich ja alle Infos z.B. von FilmID "1" gelöscht haben. |
Re: XML Eintrag löschen
Ja, das geht. Falls du Code willst, musst du uns aber mal ein bisschen von deiner XML-Struktur zeigen. So ganz ohne Vorlage wird´s schwer. :wink:
|
Re: XML Eintrag löschen
hallo,
so z.B.
Delphi-Quellcode:
grüße, daniel
node :=xmlDoc.selectSingleNode('/werte/eintrag[id="'+itoa(id,0)+'"]');
parentnode := node.parentNode; parentnode.removeChild(node); |
Re: XML Eintrag löschen
Also Mathias, hier is n Stücke aus meiner XML
Code:
Reicht dir das? :roll:
<PlanView>
<termin> <terminid>1</terminid> <terminbez>TestTermin1</terminbez> <datum>03.09.2003</datum> <uhrzeit>12:00</uhrzeit> <bemerkung>versuchmers ma!</bemerkung> </termin> <termin> <terminid>2</terminid> <terminbez>TestTermin2</terminbez> <datum>03.09.2003</datum> <uhrzeit>12:00</uhrzeit> <bemerkung>versuchmers nochma!</bemerkung> </termin> </PlanView> |
Re: XML Eintrag löschen
Zitat:
Sorry für die vielleicht dummen fragen. Hab nur grad erst mit XML angefangen. |
Re: XML Eintrag löschen
Sorry itoa musst durch StrToInt ersetzen.
Parentnode musst du definieren - gleich wie node
Delphi-Quellcode:
grüße, daniel
var parentnode, node: IXMLDOMNode;
|
Re: XML Eintrag löschen
Und "id" in StrToInt wäre dann sozusagen bei mir die terminid, oder??! Da bei mir die Meldung kommt, das id n undefinierter Bezeichner ist. :oops:
|
Re: XML Eintrag löschen
Genau
|
Re: XML Eintrag löschen
Also im Moment würde es so bei mir aussehen. Um XML Einträge zu löschen, habe ich ein Bild eingefügt, welches dann mit einem OnCLick Ereignis belegt ist...
Delphi-Quellcode:
Im Programm selber bekomme ich keine Fehlermeldung, aber das löschen klappt trotzdem nicht :cry:
procedure Tfrm_planview_main.Image2Click(Sender: TObject);
var node, parentnode: IXMLDOMNode; id: integer; begin id:=StrToInt(xmlDoc.selectSingleNode('/PlanView/termin/terminid').text); node :=xmlDoc.selectSingleNode('/PlanView/termin[terminid="'+IntToStr(id)+'"]'); parentnode := node.parentNode; parentnode.removeChild(node); end; |
Re: XML Eintrag löschen
Du musst nach dem löschen noch
Delphi-Quellcode:
machen, damit du es in der Datei übernimmst
xmlDoc.save(filename);
PS: Gegebenenfalls musst du noch deine Anzeige updaten um die Änderung in deinem Prog sehen zu können |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz