AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi XML; manipulieren ist ja kein Problem, aber ...
Thema durchsuchen
Ansicht
Themen-Optionen

XML; manipulieren ist ja kein Problem, aber ...

Ein Thema von Ricane · begonnen am 13. Aug 2003 · letzter Beitrag vom 15. Aug 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#1

XML; manipulieren ist ja kein Problem, aber ...

  Alt 13. Aug 2003, 16:03
Moin,

also das manipulieren, bzw. das arbeiten mit .xml Dateien ist ja Dank XMLDocument gar nicht so schwer. Aber wie kann man denn eine .xml Datei zur Laufzeit erstellen?!

Mit dem Befehl ...

Code:
Datamodule1.XMLDocument1.Create('C:\Datei.xml');
... macht er es auf jeden Fall nicht. Wenn man erstmal eine .xml Datei hat, die auch schon ihren Anfang, á la <?xml version ......> besitzt, ist das hinzufügen von z.B. Knoten ja nicht mehr das Ding ...

Weiß jemand Rat?

Ricane
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: XML; manipulieren ist ja kein Problem, aber ...

  Alt 13. Aug 2003, 16:33
Beim MS-XML-Parser geht´s recht einfach mit loadXML, der du den gewünschten (Anfangs-)XML-Code als String übergibst. Ich könnte mir vorstellen, dass XMLDocument etwas ähnliches anbietet. Sagt denn die Hilfe nichts darüber?

Create dient wohl eher dazu, eine Instanz des XML-Document-Objektes zu erzeugen.
  Mit Zitat antworten Zitat
Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#3

Re: XML; manipulieren ist ja kein Problem, aber ...

  Alt 14. Aug 2003, 08:07
Zitat von MathiasSimmack:
Create dient wohl eher dazu, eine Instanz des XML-Document-Objektes zu erzeugen.
Es gibt bei XMLDocument 2x die Metohe CREATE. Einmal wird AOwner übergeben, und einmal AFileName...

Beim XMLDocument, gibt es zwei Load* Methoden, die aber beide auf einen Fehler laufen, wenn man nicht vorhandene Dateien angibt...


Grüsse,

Ricane
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  Mit Zitat antworten Zitat
CalganX

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

Re: XML; manipulieren ist ja kein Problem, aber ...

  Alt 14. Aug 2003, 09:08
Hi,
du musst die Create-Methode verwenden mit dem AFileName. Ich vermute, dass dadurch die Datei auch erstellt wird.

Wenn alle Fäden reißen kannst du auch eine einfache TextFile-Variable nehmen und dann dir das Grundgerüst per writeln erstellen. Allerdings sollte man das nur machen, wenn das mit deinem XMLDocument nicht geht.

Btw MS XML halte ich für etwas einfacher bzw. logischer...

Chris
  Mit Zitat antworten Zitat
Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#5

Re: XML; manipulieren ist ja kein Problem, aber ...

  Alt 14. Aug 2003, 10:35
Als DOMVendor benutze ich ja MSXML.

Aber es kann doch nicht so schwierig sein, eine XML Datei mit dem XMLDocument zu erstellen.

Im I-Net bzw. im Delphi Handbuch (oder Delphi Hilfe) gibt es auch keine klaren Hinweise...

Die Delphi Hilfe ist an der Stelle aber auch sehr(!) schwach. Es gibt für nix ein Beispiel!


Ricane
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#6

Re: XML; manipulieren ist ja kein Problem, aber ...

  Alt 14. Aug 2003, 11:38
Warum sagst du das nicht gleich? IMHO bietet die XML-Komponente von Delphi6+ mehrere Möglichkeiten, von denen der Microsoft-Parser nur eine ist.

In dem Fall solltest du mal einen Blick in das PSDK werfen. Oder wenn dir das zu fett ist (~300meg Download), dann hole dir die aktuelle Version 4 SP2 von MS-XML. Ihr liegt die Doku auch bei. Da wirst du mit Sicherheit fündig, da du letztlich in Delphi "nur" die Typbibliothek von Microsoft benutzt.

Und in dem Fall gilt, wie ich schon schrieb:
Delphi-Quellcode:
xmldoc := CoDOMDocument40.Create;
{ ... }

xmldoc.loadXML('<Root><SubNode1><SubNode2/></SubNode1></Root>');

{ ... }
zum Anlegen einer neuen XML-Datei, die du dann mit
xmldoc.save('Pfad\Dateiname.xml'); speichern kannst. Das bezieht sich nun zwar vorrangig auf die schon angespochene Typbibliothek von Microsoft (s. auch Chakotays Tutorial), sollte aber mit der XML-Komponente ähnlich laufen.

btw: lkz schrieb in AUQ, dass es bei XMLDocument von add heißt, und nicht loadXML. Dazu kann ich nichts sagen; höchstens: ausprobieren! Aber ich denke, eine Doku müsste doch eigenlich dabei sein (bei Delphi). Ist doch immerhin eine Standardkomponente ab Version 6. Oder?
  Mit Zitat antworten Zitat
Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#7

Re: XML; manipulieren ist ja kein Problem, aber ...

  Alt 14. Aug 2003, 12:04
Zitat von MathiasSimmack:
Delphi-Quellcode:
xmldoc := CoDOMDocument40.Create;
{ ... }
xmldoc.loadXML('<Root><SubNode1><SubNode2/></SubNode1></Root>');

{ ... }
zum Anlegen einer neuen XML-Datei, die du dann mit
xmldoc.save('Pfad\Dateiname.xml');
Wenn ich den Code zum anlegen probiere, also CoDOMDocument40.Create, dann sagt er mir nur das das ein unbekannter Bezeichner ist...
Als ich die Typenbibliothek msxml4.dll installieren wollte, sagte er mir, das sie bereit installiert ist, aber diese Datei die man, lt. dem Tutorial, einbinden soll, ist nicht vorhanden...

Ich habe einfach nur die Komponente XMLDocument in mein DataModule eingebunden und verwende folgende Sachen in der USES Liste:

Code:
XMLDOM, XMLIntf, XMLDoc;
... na ja und natürlich noch diese ganzen anderen Standard Uses Dinger wie Windows, Messages n´ Stuff...

Aber ich kriege es nicht hin...


Ricane
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#8

Re: XML; manipulieren ist ja kein Problem, aber ...

  Alt 14. Aug 2003, 12:38
Chakotay hat´s beschrieben:
  1. MS XML installieren
  2. Delphi starten
  3. Menü "Projekt -> Typbibliothek importieren"
  4. Auswahl von "Microsoft XML 4.0" (oder was immer da steht)
  5. "Create Unit"
Dann findest du eine MSXML_TLB2.pas ... hm ... irgendwo ... Die bindest du ein, das reicht für den MS-XML-Parser. Weitere Beispiele dazu gibt´s hier in der DP genug. Und im genannten Tut steht ja auch was dazu.
  Mit Zitat antworten Zitat
CalganX

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

Re: XML; manipulieren ist ja kein Problem, aber ...

  Alt 14. Aug 2003, 13:14
Standardmäßig befindet sich die Unit dann im Lib-Verzeichnis.

Chris
  Mit Zitat antworten Zitat
Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#10

Re: XML; manipulieren ist ja kein Problem, aber ...

  Alt 14. Aug 2003, 14:10
Ich habe das ganze jetzt mit dem XMLDocument, ohne Abstriche machen zu müssen, gelöst.

Zwar "betrüge" ich die .XML Datei etwas, weil ich den "Grundstein" per TextFile Bearbeitung lege und erst dann das XMLDocument einschalte, aber das stört mich wenig...


Ricane
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  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 11:31 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