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
 
Benutzerbild von Ricane
Ricane

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

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

  Alt 15. Aug 2003, 08:28
Zitat von lkz633:
Es muss doch irgendwie moeglich sein, mit createelement und addchild dies hinzubekommen.
Dieser Fetzten Code, macht genau das. Er erstellt im ersten "Block" das Grundgerüst für eine XML Datei (3+4 Zeile). Dann wird der erste Knoten (KnotenEins) erstellt, der bei mir den Tabellennamen gekriegt hat (cbTabellen.Text). Außerdem bekommt er als Attribut noch den Servernamen, der in der String Variable "Server" liegt.

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 von lkz633:
Ausserdem moechte ich z.B eine bestehende Datei laden und dann Knoten hinzufuegen.
Code:
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;
Und ganz wichtig, am ende IMMER

Code:
  DataModule1.XMLDocument1.SaveToFile(Datei)
sichern... sonst sieht man nüscht ...

Grüsse und ich hoffe das hilft Dir weiter,

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

www.RicaneSoftware.de
  Mit Zitat antworten Zitat
 


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 10:47 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 by Thomas Breitkreuz