HSG

Aktuelle Seite: HSG/Fächer/Informatik/Material/XML


Achtung: Diese Seite wird nicht mehr gepflegt, nur noch die neue Seite.

OpenXML - Delphi-Tools von Dieter Köhler

Installationsschritte

  1. Download der Utilities-Bibliothek, beim Auspacken entsteht das Verzeichnis Utilities, das Verzeichnis z.B. nach ...\delphi7\lib\openxml kopieren, gemäß der Installationsanleitung in install.txt installieren und in Tools/Umgebungsoptionen im Blatt Bibliothek den Bibliothekspfad entsprechend ergänzen
  2. Download des xDom3.1 - Pakets, beim Auspacken entsteht das Verzeichnis xdom3_1, das Verzeichnis z.B. nach ...\delphi7\lib\openxml kopieren, gemäß der Installationsanleitung in liesmich.html installieren und in Tools/Umgebungsoptionen im Blatt Bibliothek den Bibliothekspfad entsprechend ergänzen
  3. Download der Hilfe

Einfache Programme

Als erstes Programm soll ein DOM-Baum aufgebaut und anschließend serialisiert in ein XML-Dokument ausgegeben werden. Benutzt werden die beiden XDOM-Komponenten DomImplementation und DomToXmlParser.


Das Programm folgt einer Vorlage von Craig Murphy, wobei in der Vorlage noch doc.codeAsString benutzt wurde, was jetzt durch die Methode writeToString ersetzt wurde.

Der folgende Quelltext

procedure TForm1.bBaueaufClick(Sender: TObject);
var
  doc        : TDomDocument;
  node,node1 : TDomNode;
  hs         : string;
begin
  // baue ein TDomDocument auf mit richplum als root-Knoten
  doc := DomImplementation1.createDocument('richplum',nil);
  // füge das Attribut display="true" dem document element hinzu
  doc.documentElement.setAttribute('display','true');
  // erzeuge einen Knoten 
  node := doc.createElement('message');
  // erzeuge einen Text-Knoten: hello, world
  node1 := doc.createTextNode('hello, world');
  // baue das Element hello, world
  node.appendChild(node1);
  // hänge das Element an den documentElement-Knoten
  doc.documentElement.appendChild(node);
  // verknüpfe eine TDomToParser-Komponente mit der TDomImplementation-K.
  DomToXmlParser1.DOMImpl := DomImplementation1;
  // erzeuge aus dem Baum einen "XML-String"
  DomToXmlParser1.writeToString(doc.referenceDocument,'UTF-8',hs);
  // weise den String der Ausgabe zu
  mAusgabe.Lines.Text := hs;
  // lösche den document-Baum
  doc.clear;
end;
erzeugt folgende Ausgabe:

DOMtree.zip