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