Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi XML Eintrag löschen (https://www.delphipraxis.net/8362-xml-eintrag-loeschen.html)

Akut-Programming 3. Sep 2003 10:07


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.

MathiasSimmack 3. Sep 2003 10:10

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:

Sanchez 3. Sep 2003 10:11

Re: XML Eintrag löschen
 
hallo,

so z.B.

Delphi-Quellcode:
  node :=xmlDoc.selectSingleNode('/werte/eintrag[id="'+itoa(id,0)+'"]');
  parentnode := node.parentNode;
  parentnode.removeChild(node);
grüße, daniel

Akut-Programming 3. Sep 2003 13:00

Re: XML Eintrag löschen
 
Also Mathias, hier is n Stücke aus meiner XML
Code:
<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>
Reicht dir das? :roll:

Akut-Programming 3. Sep 2003 13:05

Re: XML Eintrag löschen
 
Zitat:

Zitat von Sanchez0815
hallo,
so z.B.
Delphi-Quellcode:
node :=xmlDoc.selectSingleNode('/werte/eintrag[id="'+itoa(id,0)+'"]');
  parentnode := node.parentNode;
  parentnode.removeChild(node);
grüße, daniel

So hab ichs versucht, muss ich noch ne uses eintragen oder so, weil er bei mir meint itoa(id,0) ist kein definierter Bezeichner. Ebenfalls parentnode.

Sorry für die vielleicht dummen fragen. Hab nur grad erst mit XML angefangen.

Sanchez 3. Sep 2003 13:14

Re: XML Eintrag löschen
 
Sorry itoa musst durch StrToInt ersetzen.
Parentnode musst du definieren - gleich wie node

Delphi-Quellcode:
var parentnode, node: IXMLDOMNode;
grüße, daniel

Akut-Programming 3. Sep 2003 13:44

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:

Sanchez 3. Sep 2003 14:13

Re: XML Eintrag löschen
 
Genau

Akut-Programming 3. Sep 2003 14:22

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:
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;
Im Programm selber bekomme ich keine Fehlermeldung, aber das löschen klappt trotzdem nicht :cry:

Sanchez 3. Sep 2003 14:28

Re: XML Eintrag löschen
 
Du musst nach dem löschen noch

Delphi-Quellcode:
xmlDoc.save(filename);
machen, damit du es in der Datei übernimmst

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 14:32 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz