![]() |
XML Komplett auslesen
Hallo,
wie kann ich mein XML Dokument komplett auslesen? Ich habe da mal ein kleines Beispiel gemacht. Oder habe ich das XML Dokument falsch aufgebaut?
XML-Code:
Ich verwende die XML Komponente in Delphi.
<?xml version="1.0" encoding="ISO-8859-1"?>
<Language Lang="Deu"> <UMain> <Button Name="B1" Caption="Neu" /> <Button Name="B2" Caption="Bearbeiten" /> <Button Name="B3" Caption="Löschen" /> </UMain> </Language> Was ich vor habe: ich will das Xml Dokument durchgehen. Dann will ich den Button mit dem Namen B1 suchen und der soll dann die Caption "Neu" erhalten. Und so soll es immer weiter gehen, bis das XML Dokument zuende ist. |
Re: XML Komplett auslesen
Hallo Christian,
du kannst entweder einen tree walk (childNodes, rekursiv) über alle nodes des XML-Dokuments machen und die Komponenten mit FindComponent() suchen, oder du iterierst über die Komponenten deiner Form und suchst den passenden XML-Knoten mittels SelectSingleNode(). Grüße vom marabu |
Re: XML Komplett auslesen
Hallo,
wie kann ich denn sowas komplett auslesen? Ich möchte einfach nacheinander die Attribute haben. Am besten in einem Record. Den ersten Knoten von Button kann ich auslesen. Wie komme ich aber zum zweiten und dritten, ... n LG Chris |
Re: XML Komplett auslesen
Zeig doch mal den Code den du bisher hast!
|
Re: XML Komplett auslesen
Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Xml : TXMLDocument; s : String; begin Xml:=TXMLDocument.Create(Application); try Xml.FileName:=ExtractFilePath(Application.ExeName) + 'Xml.lng'; Xml.Active:=True; s:=Xml.DocumentElement.ChildNodes['UMain'].ChildNodes['Button'].Attributes['Name']; ShowMessage(s); finally Xml.Destroy; end; end; |
Re: XML Komplett auslesen
Ich hab noch nie mit der TXMLDocument was gemacht sondern nur Muetze1's xml lib genommen aber musst du nicht erstmal den Root aufbauen und dann von Ast zu Ast wandern?
|
Re: XML Komplett auslesen
Ja,
das habe ich mir auch schon gedacht, aber wie implementiere ich das? ich habe es noch nicht geschafft... |
Re: XML Komplett auslesen
ne while schleife schreiben die alle childnodes von umain durchläuft, so müsste das funktioneren.
|
Re: XML Komplett auslesen
wann ist die bediengung der while schleife denn erfüllt??? ich suche schon die ganze zeit nach lastchild oder sowas. Ich habe noch nix gefunden.
LG Chris |
Re: XML Komplett auslesen
a little bit pseudocode:
while assigned(xmlnode) do begin // do something Node := node.Next; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 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