So, hab jetzt doch OpenOffice installiert, brauchte noch ein Tabellendokument.
@benst
Hier mal ein Beispielcode der den gesamten Datenteil des OD iteriert und die NodeCaption anzeigt.
Delphi-Quellcode:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, xmldom, XMLIntf, StdCtrls, msxmldom, XMLDoc;
type
TODTestForm = class(TForm)
XMLDocument1: TXMLDocument;
btnIterateXML: TButton;
procedure btnIterateXMLClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
function IterateXMLNode(AXMLNode: IXMLNode): string;
end;
function TODTestForm.IterateXMLNode(AXMLNode: IXMLNode): string;
begin
ShowMessage(AXMLNode.NodeName);
if AXMLNode.HasChildNodes then IterateXMLNode(AXMLNode.ChildNodes.First);
if AXMLNode.NextSibling <> nil then IterateXMLNOde(AXmlNode.NextSibling);
end;
procedure TODTestForm.btnIterateXMLClick(Sender: TObject);
var
rootNode: IXMLNode;
childNode: IXMLNode;
begin
rootNode := XMLDocument1.DocumentElement;
childNode := rootNode.ChildNodes.FindNode('office:body'); // wir wollen uns nur den Datenteil anschauen
// der Datenteil eines Tabellendokuments enthält !alle! Tabellen und deren Werte
// rekursive Methode!
IterateXMLNode(childNode);
end;