![]() |
Re: XML; manipulieren ist ja kein Problem, aber ...
Besser spät als nie ;-)
Delphi-Quellcode:
Das sollte gehen, um ein neues Dokument zu laden.
Datamodule1.XMLDocument1.Active := False;
Datamodule1.XMLDocument1.XML.Text := '<Root><SubNode1><SubNode2/></SubNode1></Root>'; Datamodule1.XMLDocument1.Active := True; ...:cat:.... |
Re: XML; manipulieren ist ja kein Problem, aber ...
Die gleichen Probleme habe ich gerade auch.
Es muss doch irgendwie moeglich sein, mit createelement und addchild dies hinzubekommen. Ausserdem moechte ich z.B eine bestehende Datei laden und dann Knoten hinzufuegen. Weiss niemand wie dies mit XMLDocument geht? Gruss lkz633 |
Re: XML; manipulieren ist ja kein Problem, aber ...
Zitat:
Dann werden alle Inhalte der Tabelle per For Schleife, in die Datei geschrieben. UnterKnoten wird jeweils der Name von der akt. Spalte zugewiesen, und der Spalteeintrag ist dann natürlich der Text aus dem Feld. Nach jeder Reihe muss der erste Knoten (KnotenEins) wieder geschloßen werden, weil es sonst einen Anzeigefehler gibt.
Code:
Datamodule1.XMLDocument1.Active := False;
DataModule1.XMLDocument1.XML.Text := ''; Datamodule1.XMLDocument1.XML.Text := '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>'; Datamodule1.XMLDocument1.XML.Text := Datamodule1.XMLDocument1.XML.Text + '<Tabellen-Abbild></Tabellen-Abbild>'; Datamodule1.XMLDocument1.Active := True; KnotenEins := DataModule1.XMLDocument1.DocumentElement.AddChild(cbTabellen.Text); KnotenEins.Attributes['Server'] := Server; For X := 1 To DataModule1.ADODataSet1.RecordCount - 1 Do Begin For I := 0 To grdHaupt.Columns.Count - 1 Do Begin DataModule1.ADODataSet1.RecNo := X; UnterKnoten := KnotenEins.AddChild(grdHaupt.Fields[I].FieldName); UnterKnoten.Text := grdHaupt.Fields[I].Text; End; KnotenEins := DataModule1.XMLDocument1.DocumentElement.AddChild(cbTabellen.Text) End; Zitat:
Code:
Und ganz wichtig, am ende IMMER
var
NewStock: IXMLNode; ValueNode: IXMLNode; Begin DataModule1.XMLDocument1.FileName := Datei; NewStock := DataModule1.XMLDocument1.FileName := Datei.DocumentElement.AddChild('stock'); NewStock.Attributes['exchange'] := 'NASDAQ'; ValueNode := NewStock.AddChild('name'); ValueNode.Text := 'Cisco Systems' ValueNode := NewStock.AddChild('price'); ValueNode.Text := '62.375'; ValueNode := NewStock.AddChild('symbol'); ValueNode.Text := 'CSCO'; ValueNode := NewStock.AddChild('shares'); ValueNode.Text := '25'; End;
Code:
sichern... sonst sieht man nüscht ...
DataModule1.XMLDocument1.SaveToFile(Datei)
Grüsse und ich hoffe das hilft Dir weiter, Ricane |
Re: XML; manipulieren ist ja kein Problem, aber ...
Hallo,
erstmal vielen vieln Dank fuer deine Hilfe! Zitat:
Habe noch ein paar Fragen, weiter werden folgen :D : 1) Wann genau werden Tags automatisch geschlossen? Addchild hat bei mir nur den schliessenden Tag erzeugt, den oeffnenden nur, wenn ich auch einen Unterknoten erstellt habe. Was mache ich, wenn ich keine Unterknoten habe, aber den Tag brauche, um z.B eine gewisse Vorgabe zu erfuellen 2) Kann das DocumentElement nur mit XML.add erstellt werden? 3) Wofuer ist createelement da, wenn ich es gar nicht brauche? Was macht es? 4) Wenn ich die Datei jetzt oeffne, steht alles in einer Zeile. Kann ich es irgednwie so hinbekommen, dass wenn ich die Datei in einem XML Editor anscchaue, die Datei auch so formatiert ist wie eine XML Datei, also mit einruecken usw? 5) Gibt es eine Moeglichkeit, Kommentare einzufuegen, oder geht dies nur mit Writeln Nochmals vielen Dank lkz633 |
Re: XML; manipulieren ist ja kein Problem, aber ...
Zitat:
Zitat:
Zitat:
Code:
und so
<SubNode1></SubNode1>
Code:
geschlossen und gültig. Wenn du die XML-Datei im Code erstellst, dann gib den Tag in der von dir gewünschten Form an.
<SubNode1/>
Zitat:
Zitat:
|
Re: XML; manipulieren ist ja kein Problem, aber ...
Zitat:
Zitat:
Zitat:
Nochmals danke, das war sehr hilfreich Gruss lkz633 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz