Home » Tutorials » Third-Party-Komponenten » OpenXML XDOM 4.1

OpenXML XDOM 4.1

Laden & Auslesen

Nun wollen wir die XML-Datei laden und die Werte auslesen.
Dazu kommt ein TXmlToDomParser auf die Form, dessen DOMImpl wir wieder auf unseren DomImplementation1 verlinken.
Im Memo steht der XML-Code von oben.
Und ein zweiter Button in dessen OnClick wir schreiben:

procedure TForm1.Button2Click(Sender: TObject);
var
  FInputSource: TXMLInputSource;
  FDoc: TDomDocument;
begin
  FInputSource := TXMLInputSource.Create(Memo1.Text, '', '', 1024, False, 0, 0, 0, 0, 1);
  FDoc := XmlToDomParser1.Parse(FInputSource);
  FInputSource.Free;

end;

Man kann natürlich auch aus einer Datei laden:

 FDoc := XMLToDomParser1.ParseFile('test.xml', False);

Nun wollen wir die Werte auslesen.
Für den Namen eines Tags:

 ShowMessage(FDoc.FindFirstChildElement.NodeName);

Gibt ‚RootNode‘ zurück.
Für den Wert eines Tags:

ShowMessage(FDoc.GetElementsByTagName('Node1').Item(0).ChildNodes.Item(0).NodeValue);

Gibt ‚Text1‘ zurück.
Für das Attribut eines Tags:

ShowMessage(FDoc.FindFirstChildElement.Attributes.Item(0).NodeValue);

Gibt ‚Wert1‘ zurück.
Oder:

 ShowMessage(FDoc.GetElementsByTagName('Node2').Item(0).Attributes.GetNamedItem('Attr3').NodeValue);

Gibt ‚Wert3‘ zurück.
Und für einen Kommentar:

 ShowMessage(FDoc.FindFirstChildElement.ChildNodes.Item(3).NodeValue);

Gibt ‚Kommentar‘ zurück.
Am Ende sollte man immer FDoc.Free; nicht vergessen. ;P