AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Einer bestehenden XML Datei einen Eintrag hinzufügen
Thema durchsuchen
Ansicht
Themen-Optionen

Einer bestehenden XML Datei einen Eintrag hinzufügen

Ein Thema von niko022 · begonnen am 4. Okt 2007 · letzter Beitrag vom 5. Okt 2007
Antwort Antwort
niko022

Registriert seit: 2. Okt 2007
46 Beiträge
 
#1

Einer bestehenden XML Datei einen Eintrag hinzufügen

  Alt 4. Okt 2007, 15:34
Hallo,
ich hätte eine Frage weis jemand wie man bei einer bestehenden xml-Datei Einträge hinzufügen kann.

Meine XML Datei soll den folgenden Aufbau erhalten. Das heißt cContact soll immer hinzugefügt
werden können

Code:

<?xml version="1.0" encoding="UTF-8"?>
<RootNode>
  <cContact>
    <ContactNo>EXTERN_01</ContactNo>
    <iActive>Text2</iActive>
  </cContact>

  <cContact>
    <ContactNo>EXTERN_01</ContactNo>
    <iActive>Text2</iActive>
  </cContact>

  ...

</RootNode>
In Delphi schreibe ich das ganze wie folgt in eine Date:

Delphi-Quellcode:

Stream := TFileStream.Create('Test.xml', fmOpenReadWrite);
Stream.Seek(0, soFromEnd);
DomToXmlParser1.WriteToStream(FDoc, 'UTF-8', Stream);
Stream.Free;
Das Problem dabei ich bekomme natürlich immer den Kopf <?xml version="1.0" encoding="UTF-8"?>
und den <RootNode> mit. Kann man die irgendwie ausschalten.

Der Inhalt der Datei sieht dann so aus:

Code:

<?xml version="1.0" encoding="UTF-8"?>
<RootNode><cContact><ContactNo>EXTERN_01</ContactNo><iActive>Text2</iActive></cContact></RootNode>
<?xml version="1.0" encoding="UTF-8"?>
<RootNode><cContact><ContactNo>EXTERN_02</ContactNo><iActive>Text3</iActive></cContact></RootNode>
<?xml version="1.0" encoding="UTF-8"?>
<RootNode><cContact><ContactNo>EXTERN_03</ContactNo><iActive>Text4</iActive></cContact></RootNode>
Müßte aber eigentlich dann so aussehen?

Code:
<?xml version="1.0" encoding="UTF-8"?>
<RootNode>
<cContact><ContactNo>EXTERN_01</ContactNo><iActive>Text2</iActive></cContact>
<cContact><ContactNo>EXTERN_02</ContactNo><iActive>Text3</iActive></cContact>
<cContact><ContactNo>EXTERN_03</ContactNo><iActive>Text4</iActive></cContact>
</RootNode>

Wie kann ich Datensätze in eine bestehende XML - Datei hinzufügen?


Vielen Dank.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Einer bestehenden XML Datei einen Eintrag hinzufügen

  Alt 4. Okt 2007, 15:41
Zitat von niko022:
Wie kann ich Datensätze in eine bestehende XML - Datei hinzufügen?
Du verwendest eine der bekannten XML-Parser (OpenXML, MSXML, ...), setzt dich mit den bereitgestellten Methoden auseinander und nimmst die dort verfürbaren AddNode, ...-Methoden zum einfügen. TFileStream als "Bearbeitungsklasse" ist für XML nicht geeignet.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
niko022

Registriert seit: 2. Okt 2007
46 Beiträge
 
#3

Re: Einer bestehenden XML Datei einen Eintrag hinzufügen

  Alt 4. Okt 2007, 15:45
Hallo,
vielen Dank für die schnelle beantwortung.

Hast du einen Link bzw. ein Tutorial wo man mehr über die Methoden bzw. über den XML - Parser nachlesen kann? Ich habe nicht wirklich eine gute doku dazu.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Einer bestehenden XML Datei einen Eintrag hinzufügen

  Alt 4. Okt 2007, 15:48
Nutze mal die Suche der DP und schränke den Suchbereich auf unsere Tutorial Sparte ein, dann wirst Du Informationen zu den verschiedensten XML-Parsern finden. Stichwort: Hier im Forum suchenxml tutorial

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
niko022

Registriert seit: 2. Okt 2007
46 Beiträge
 
#5

Re: Einer bestehenden XML Datei einen Eintrag hinzufügen

  Alt 5. Okt 2007, 07:40
Hallo
hat jemand noch irgendeinen Tipp in Bezug in eine bestehende XML Datei einen Eintrag (Datensatz) hinzuzufügen?

Ich habe im Forum bzw. im Netz nichts gefunden mit dem ich was anfangen könnte.

Vielen Dank nochmal.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Einer bestehenden XML Datei einen Eintrag hinzufügen

  Alt 5. Okt 2007, 08:04
Zitat von niko022:
Ich habe im Forum bzw. im Netz nichts gefunden mit dem ich was anfangen könnte.
Hast Du gesucht wie ich es empfohlen habe? Das beliebteste und hoch gelobte Tutorial zum Thema: http://www.delphipraxis.net/internal...t=xml+tutorial
Da steht alles drinne was Du brauchst... Sorry, aber mit Faulheit stößt Du hier leider überall auf taube Ohren. Wenn Du Fragen zum Tutorial hast, dann frage direkt in dem Thread oder hier. Aber nichts gefunden, glaube ich nicht. Es gibt hier weitere Tutorials zum Thema und anderen DOMs.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
niko022

Registriert seit: 2. Okt 2007
46 Beiträge
 
#7

Re: Einer bestehenden XML Datei einen Eintrag hinzufügen

  Alt 5. Okt 2007, 08:38
Vielen Dank erstmal.

Ich habe schon ein paar Tutorials gefunden, aber jetzt spezielle Methoden oder Beschreibungen wie man in eine bestehende XML Datei Datensätze hinzufügen kann nicht.

Ich schau mal ob ich dem Tutorial das du gelinkt hast was finde.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Einer bestehenden XML Datei einen Eintrag hinzufügen

  Alt 5. Okt 2007, 09:28
Zitat von niko022:
Ich habe schon ein paar Tutorials gefunden, aber jetzt spezielle Methoden oder Beschreibungen wie man in eine bestehende XML Datei Datensätze hinzufügen kann nicht.
Doc: IXMLDOMDocument2; deklarieren, dann erstellen (CoCreate...), dann das XML File laden (Load) and dann neue Nodes erstellen (CreateNode, CreateElement) und mittels AppendChild (oder AppendNode ) anhängen und wieder speichern (Save).

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:42 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