Morgen zusammen,
ich habe mein Programm auf OmniXML umgestellt um nicht von einer
MSXML Installation abhängig zu sein. Hat soweit auch alles geklappt, bis auf das meine
XML Datei nicht mehr in eine TreeView eingelesen wird. Das Eintragen eines Programmes in die
XMl Datei funktioniert einwandfrei...
Der Code zum Auslesen und Importieren der
XML Datei in die Treeview läßt sich ohne Fehlermeldung problemlos Kompilieren.
Hier mal der Code:
Delphi-Quellcode:
Var Node : IXMLNode;
Nodes : IXMLNodeList;
TVParentNode : TTreeNode;
TVChildNode : TTreeNode;
i : integer;
begin
// Firewalls in Treeview aufnehmen
TVParentNode := TV.Items.Add(nil,'Firewalls');
TVParentNode.ImageIndex := 0;
Nodes := xmlDoc.SelectNodes('/programme/Firewalls');
for i := 0 to Nodes.length - 1 do
begin
Node := Nodes.item[i].selectSingleNode('Name');
// Nodes.item[i].text (Gesammter Text von einer Firewall Node)
TVChildNode := TV.Items.AddChild(TVParentNode, Node.text);
TVChildNode.ImageIndex := 0;
end;
Die
XML Datei ist wie folgt aufgebaut:
XML-Code:
<?
xml version="1.0" encoding="ISO-8859-1" ?>
<programme>
<WLan>
<Name>Super Testprogramm</Name>
<Webseite>http://www.pc-adviser.de</Webseite>
<Autor></Autor>
<Version>1.0</Version>
<Grafik></Grafik>
<Typ>Freeware</Typ>
<Beschreibung />
</WLan>
<Firewalls>
<Name>ErsterWin2K Eintrag</Name>
<Webseite>http://www</Webseite>
<Autor />
<Version />
<Typ>Freeware</Typ>
<Sprache>Deutsch</Sprache>
<Grafik>Tools\ErsterWin2K Eintrag\ErsterWin2K Eintrag.jpg</Grafik>
<ProgPfad>Tools\ErsterWin2K Eintrag\</ProgPfad>
<DateiGroesse>0</DateiGroesse>
<Beschreibung>Eintragen geht!</Beschreibung>
</Firewalls>
</programme>
Wie gesagt, unter
MSXML 4 lief es ohne Probleme.
Folgendes soll der Code tun:
In der
XML Datei gibt der obere Node wie z.B "WLan" oder "Firewalls" die Kategorie des Programms an. Nun soll das Programm alle Programme einer Kategorie in der Treeview unter einer "Node" zusammenfassen.
Zurzeit trage ich die Programmkategorie von Hand in die Treeview und lese dann die dazu gehörenden Programm aus. Habt ihr eine Idee wie ich das ganze am besten auch noch dynamsich gestalte?
Vorangig sollte es aber erstmal wieder unter OmniXML laufen...
Thanx
Salomon