Witam
Jak wczytac plik XML do komponenty TreeView pod D7 ? Jak mozna odczytac komponentem XMLDocument poszczegolne znaczniki (nazwy, wartosci itp)?
pozdrowienia
tomek33@poczta.fm
Witam
Jak wczytac plik XML do komponenty TreeView pod D7 ? Jak mozna odczytac komponentem XMLDocument poszczegolne znaczniki (nazwy, wartosci itp)?
pozdrowienia
tomek33@poczta.fm
dziwne, ja nacisnąłem po prostu F1 i miałem opisane wszystkie procedurki tego komponentu (są w VCL Reference) - i z tego się dało wywniosokować stosunkowo sporo. Wiem na pewno, że cały komponent opiera się na interfejsach IXMLNode. I one posiadają to co jest najważniejsze, np.:
function GetAttribute(const AttrName: DOMString): OleVariant; - nazwa atrybutu tj. tego co jest np. tutaj: <test id="as"></test> to poda nam id.
IXMLNode zawiera też parę właściwości interesujących, np:
Text - zwraca to co jest pomiędzy znacznikami, np. dla <test>XML</test> zwróci nam "XML"
ChildNodes - "dzieci" aktualnego drzewka jako IXMLNodeList, a on ma właściwości:
ChildNodes.Count - liczba "dzieci"
ChildNodes.Nodes[index] - dostęp do dziecka o podanym indeksie
to oczywiście nie jest wszystko, tylko to co jest najważniejsze. Możę jakiś art o tym skrobnę? warto jest pobawić się metodą prób i błędów i dojść jak co działa :)
PS. Ja mam Delphi 6 Ent i to wszystko w pomocy znalazłem
Witam
Dzieki za odpowiedz, bardzo sie przydala. Miales racje co do pomocy tylko, ze u mnie o komponencie nie ma wlasciwie nic co moznaby wykorzystac, wiecej jest o XMLNode czy jakos tak.
Jesli chodzi o wczytanie pliku XML do TreeView to zaden problem, po prostu ladujemy go do TreeView! Jest polecenie w tym komponencie LoadFromFile. Jest male ale, jesli plik XML ma puste linie to wychodza krzaki ale mozna to latwo obejsc, najpierw plik XML do ListBox, usuwamy puste linie, zapisujemy i odczytujemy w TreeView.
Na poczatku chodzilo mi o wczytanie do TreeView ale po twojej odpowiedzi i znalezieniu kilku przykladow na zagranicznych stronach zrobilem to podobnie jak ty wiec jeszcze raz dzieki.
PS. WESOLYCH SWIAT!
mozna i tak, chociaz StringList'a jeszcze nie obczailem
Jeśli obczaiłeś listboxa, to stringlista też, bo listbox się na nim opiera. Jedyne, czego nie trzeba robić w listobxie, a w stringliście trzeba, to stworzenie obiektu (tstringlist.create), ale to chyba logiczne.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.