![]() |
Problem mit mehreren Einträgen gleichen Namens
Hi,
folgendes XML:
XML-Code:
Folgender Delphi-Code:
<?xml version="1.0"?>
<phonebooks> <book> <id>1</id> <name>Testgruppe</name> </book> <book> <id>2</id> <name>Testbuch 123</name> </book> </phonebooks>
Delphi-Quellcode:
XMLDoc.LoadFromXML(res);
StartItemNode := XMLDoc.DocumentElement.ChildNodes.FindNode('book'); ANode := StartItemNode.ChildNodes.First; frmMain.lstBooks.Clear; showmessage(XMLDoc.XML.Text); while Assigned(ANode) do begin with frmMain.lstBooks.Items.Add do begin imageindex := 2; caption := ANode.ChildNodes['name'].Text; subitems.Add('-'); subitems.Add(ANode.ChildNodes['id'].Text); end; ANode := ANode.NextSibling; end; Wirft keine Fehler, aber die Einträge der Listview bleiben "leer", werden also angelegt, aber eben ohne Text. Ideen? Danke |
Re: Problem mit mehreren Einträgen gleichen Namens
Wo ist da der Bezug vom Threadtitel zu deinem geschilderten Problem?
|
Re: Problem mit mehreren Einträgen gleichen Namens
Zitat:
Vielen Dank für deine Hilfe (...) |
Re: Problem mit mehreren Einträgen gleichen Namens
Wenn ich mich recht entsinne, musst du noch auf das Childelement von "id" respektive "name" zugreifen und dessen Text-Eigenschaft auslesen.
Oder verwechsle ich das mit dem bei Lazarus mitgelieferten XML Parser? Gruß Eike |
Re: Problem mit mehreren Einträgen gleichen Namens
Nein, das schon der selbe. Allerdings tue ich dies doch in der while-Schleife?
Edit: So gings...
Delphi-Quellcode:
ANode := XMLDoc.DocumentElement.ChildNodes.First;
while Assigned(ANode) do begin with frmMain.lstBooks.Items.Add do begin imageindex := 2; caption := ANode.ChildNodes['name'].Text; subitems.Add(ANode.ChildNodes['id'].Text); subitems.Add('-'); end; ANode := ANode.NextSibling; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 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-2025 by Thomas Breitkreuz