Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Probleme mit dem xml-Tutorial (https://www.delphipraxis.net/9357-probleme-mit-dem-xml-tutorial.html)

ensacom 24. Sep 2003 19:14


Probleme mit dem xml-Tutorial
 
Hallo,

ich habe gerade das xml-Tutorial von Christopher Harms benutzt.

Nun bleibt eine Fragen offen.

Wie kann ich einen Eintrag aus der XML-Datei wieder löschen ???

Danke

CalganX 24. Sep 2003 19:18

Re: Probleme mit dem xml-Tutorial
 
Hi Enrico,
eigentlich ganz einfach: du selektierst die entsprechende Node und löscht diese aus dem Root-Element mit removeChild. Zum Schluss noch speichern und fertig.

Beispiel:
Delphi-Quellcode:
var
  xmlDoc: IXMLDOMDocument;
  xmlNode: IXMLDOMNode;
begin
  // initialisierung von XMLDoc etc.

  node := xmlDoc.documentElement.selectSingleNode('/obElement/subElement[text="'+Edit1.Text+'"]');
  xmlDoc.documentElement.removeChild(node);

  xmlDoc.save('C:\Pfad\Zur\XML\Datei.xml');
end;
Wundert mich, dass das nicht drin ist. *sofort wieder an tutorial dransetz und das einfüg* Schande über mich. :oops:

Chris

ensacom 24. Sep 2003 19:21

Re: Probleme mit dem xml-Tutorial
 
Man das ging aber schnell.

Echt toll von dir

Danke

CalganX 24. Sep 2003 19:22

Re: Probleme mit dem xml-Tutorial
 
Zitat:

Zitat von ensacom
Man das ging aber schnell.

Hehe, wir sind hier in der Delphi-PRAXiS. Sag bloß, du hast was anderes erwartet. :mrgreen:

Chris

ensacom 24. Sep 2003 19:23

Re: Probleme mit dem xml-Tutorial
 
naja, war lang nicht mehr hier und bei anderen Foren geht es nicht so flott,

:mrgreen:

ensacom 24. Sep 2003 19:28

Re: Probleme mit dem xml-Tutorial
 
hm, erhalte eine Zugriffsverletzung

habe folgendes

Code:
procedure TMainForm.ENtfernen1Click(Sender: TObject);
var
  xmlDoc: IXMLDOMDocument;
  xmlNode: IXMLDOMNode;
begin
  xmlnode := xmlDoc.documentElement.selectSingleNode('/movieorganizer/movie[id="'+MovieList.Selected.Caption+'"]');
  xmlDoc.documentElement.removeChild(xmlnode);
  xmlDoc.save('C:\Pfad\Zur\XML\Datei.xml');
end;
Fehler kommt bei xmlnode := xmlDoc.documentElement.selectSingleNode('/movieorganizer/movie[id="'+MovieList.Selected.Caption+'"]');

CalganX 24. Sep 2003 19:31

Re: Probleme mit dem xml-Tutorial
 
hi,
du hast das xmlDoc-Objekt bereits. Nimm es aus den Variablen heraus.

Begründung: Delphi sucht immer erst lokale Variablen (in diesem Fall z.B. xmlNode), dann nach globalen Variablen (xmlDoc).
Da er hier nun ein xmlDoc hat, das lokal ist, nimmt er das. Allerdings ist das nicht intialisiert und nicht geladen.

Chris

ensacom 24. Sep 2003 19:34

Re: Probleme mit dem xml-Tutorial
 
Ups herjeee, jetzt gehts super.

Danke dir

Eine Frage noch, nach deinem Tutorial wird die xml-Datei nicht wie im Beispiel formatiert zeilenweise geschrieben sondern hindereinander weg.

Kann das bei irgendwas Probleme bereiten?

CalganX 24. Sep 2003 19:37

Re: Probleme mit dem xml-Tutorial
 
Hi,
nein. In keinster Weise. MSXML ist einfach schlau. ;)

Chris

PS: Wenn du natürlich die Filme aus der XML-Datei lesen willst (per Editor), dann ist das was anderes. Dazu gibt es auch hier was in der DP. Aber ich denke, dass ist sinnlos.

ensacom 24. Sep 2003 19:52

Re: Probleme mit dem xml-Tutorial
 
Gerade ist mir noch was aufgefallen, vielleicht kannst du es ja in deinem Tutorial aufnhemen.

Wenn sich noch kein Eintrag in der database xml befindet, dann gibt es beim einfügen eines neuen Eintrages eine Zugrifsverletzung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 Uhr.
Seite 1 von 2  1 2   

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