XML i TreeView

0

Witam!

Mam problem z XML'em. Otóż mam plik *.xml w którym mam następujące dane:

<?xml version="1.0" encoding="UTF-8"?> <rok r="2005"> <miesiac m="1"> <dzien d="12"> dane </dzien> </miesiac> </rok>

Wartości z tagów pobieram do TreeView i tworze drzewko:
2005
|-1
|-12

Moje pytanie brzmi, jak znając wartości r,m,d odczytać odpowiedni fragment pliku (dane). Jeśli uporządkuje drzewko to musiałbym także uporządkować plik XML.
Jak przerobić wartości z TreeView i zastosować do XML.DocumentElement.Child...
aby dane w pliku xml mogły być zapisane niechronologicznie.

Z góry dziękuję za wskazówki.

0

A może by tak tablica wskaźników... wtedy niezależnie od tego czy dane w TreeView będą posortowane czy nie.. ty będziesz wiedział w jakim miejscu powinny się znajdować. Albo ewentualnie po prostu tablica z której wczytujesz do TreeView.. wtedy TreeView sortujesz a tablicę zostawiasz w spokoju... i również masz dane w odpowiedniej kolejności

0

Znajac r,m,d mozna odczytac "dane" za pomoca petli for. Jezeli u Ciebie DocumentElement to <rok r="2005"> to kod mniej wiecej bedzie wygladal tak:

node:=xml.DocumentElement;
for i:=0 to node.ChildNodes.Count-1 do
if node.ChildNodes[i].Attributes['m']=m then
for j:=0 to node.ChildNodes[i].ChildNodes.Count-1 do
if node.ChildNodes[i].ChildNodes[j].Attributes['d']=d then
dane:=node.ChildNodes[i].ChildNodes[j].Text;

musisz oczywiscie zadeklarowac zmienne:

node:IXMLNode;
dane:string;
i,j:integer;

Pozdrawiam
Marcin

0

jest przyklad w JVCL, JvSimpleXML z wczytywaniem do TreeView :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1