AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Eintrag aus XML Datei löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Eintrag aus XML Datei löschen

Ein Thema von celinaw · begonnen am 2. Aug 2004 · letzter Beitrag vom 4. Aug 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#1

Eintrag aus XML Datei löschen

  Alt 2. Aug 2004, 10:11
Hi

Ich habe folgendes Problem:

Ich muss einen XML File Laden, einen Eintrag löschen und die Datei anschließend wieder speichern.
Ich habe nun schon diverse Tutorials und seiten durchgelesen und bekomme das einfach nicht hin. Das mag wohl daran liegen das ich selbst mit Delphi noch nicht so gut bin. Kann mir mal jemand anhand eines Beispiels ein bisschen genauer erklären wie ich das lösen kann?

Dieser Eintrag muss aus dem angehängten File entfernt werden: GroupID="145386"

Kann mir da jemand bei Helfen

Gruß Celina

Ups: Ich habe Delphi 7 Prof. und Windows XP

[edit=Admin]Download aus Datenschutzgründen entfernt. Mfg, Daniel[/edit]
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#2

Re: Eintrag aus XML Datei löschen

  Alt 2. Aug 2004, 14:21
du solltest mit deinen kundendaten nicht so umgehen !

DATENSCHUTZ !!

wenn du im inet was postest dann immer xxx oder testdaten.

was nutzt du um die xml file zu bearbeiten ? msxml ?
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Eintrag aus XML Datei löschen

  Alt 2. Aug 2004, 14:39
Hi,
erstmal gebe ich generic Recht.

Wegen deinem Problem: erstmal solltest du den Eintrag per XPath finden:
Delphi-Quellcode:
var
  XPath: string;
begin
  XPath := '/Data/Dealer[@GroupID="145386"]';
So sähe das in deinem Fall aus. Angenommen du verwendest MS XML, dann musst du so fortfahren:
Delphi-Quellcode:
  DealerNode := XMLDoc.selectSingleNode(XPath);
  { Jetzt ist die Frage was willst du löschen? Das Attribut oder die Node? }
  { Im Falle der Node "Dealer": }
  XMLDoc.selectSingleNode('Data').removeChild(DealerNode);
  { Im Falle des Attributs: }
  DealerNode.attributes.removeNamedItem('GroupID');
end;
Ganz einfach also.

Chris
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#4

Re: Eintrag aus XML Datei löschen

  Alt 2. Aug 2004, 14:54
Könnte dann nicht einfach mal ein Mod die XML-Datei vorsorglich entfernen?
Das riesig geschriebene "Datenschutz" lädt ja gerade dazu ein, sich mal die Daten anzuschauen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Eintrag aus XML Datei löschen

  Alt 2. Aug 2004, 14:58
Wer sagt denn, dass die Daten echt sind?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#6

Re: Eintrag aus XML Datei löschen

  Alt 2. Aug 2004, 15:00
Im Gegensatz zum Gericht, wo du solange als unschuldig giltst, bis das Gegenteil bewiesen ist, würde ich bei solchen Sachen mal vom Gegenteil ausgehen. Celina kann ja immer noch sagen: Okay, es waren nur Fake-Daten. Aber manchmal denkt man vor lauter Problemen nicht daran.
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#7

Re: Eintrag aus XML Datei löschen

  Alt 2. Aug 2004, 16:50
Hi, @all

Danke für eure schnelle Hilfe! Ich werde es mal ausprobieren.
Was die Daten angeht, so habt ihr sicher Recht. Da sollte ich besser mit aufpassen.
Hab ich nicht dran gedacht. Dank für den Hinweis!!

Liebe Grüße Celina
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#8

Re: Eintrag aus XML Datei löschen

  Alt 2. Aug 2004, 17:02
Hi nochmal..

Ja ich verwende MSXML.

Wie muss ich denn die XML Datei Laden? In eine Stringlist mit dem Opendialog?
Sorry, aber ich habe so etwas noch nie gemacht..

Oder gibt es bei MsXML eine extra Funktion zum Einlesen bzw. Öffnen?

Gruß Celina
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#9

Re: Eintrag aus XML Datei löschen

  Alt 2. Aug 2004, 17:13
Der MS-XML-Parser stellt dir mit "load" und "save" die passenden Funktionen zur Verfügung. Erwartet wird in beiden Fällen nur der Dateiname. Hast du zufällig das MS-XML-SDK installiert? Das wäre sehr zu empfehlen, weil du dort alle Befehle usw. finden kannst.

Wenn du mit DOM arbeitest (machen die meisten, ich eingeschlossen ), dann hast du das Dokument nach dem Laden im Speicher und kannst recht bequem damit arbeiten. Das einfachste Beispiel:
Delphi-Quellcode:
xmldoc := CoDomDocument40.Create;
if(xmldoc <> nil) then
try
  if(xmldoc.load('c:\eigene Dateien\test.xml')) then
  begin
    ShowMessage(xmldoc.xml);
  end;
finally
  xmldoc := nil;
end;
"xmldoc" ist eine Variable vom Typ DomDocument40 (MS XML 4).
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#10

Re: Eintrag aus XML Datei löschen

  Alt 2. Aug 2004, 19:11
Hi Mathias

Vielen Dank für dein ausführliche Erklärung

Es funktioniert ohne Probleme.

Liebe Grüße Celina
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr.
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