1. Kreiranje XMLReadera (i otvaranje XML fajla)

U sledećem primeru se kreira objekat klase XmlReader sa nazivom mojReader i pokazuje na fajl sa nazivom nazivFajla. Naziv fajla u sebi može da sadrži i kompletnu putanju do fajla.

XmlReader mojReader = XmlReader.Create("nazivFajla");


Čitanje podataka:

Za čitanje podataka iz XML fajla može da se koristi dosta metoda XmlReader objekta, u ovoj vežbi koristimo samo metodu Read().

Read metoda je dosta fleksibilna: čita svaki čvor u XML fajlu posebno. Čvor ima neki svoj tip (XmlNodeType), može a ne mora imati naziv ili vrednost. Za svaki čvor koji se pročita pomoću objekta XmlReadera može da se proveri koja je vrsta i šta raditi sa tim. Ova provera može da se izvrši poređenjem vrednosti koja je pročitana iz XmlReader objekta sa vrednostima za XmlNodeType. (pogledajte koje sve vrste imaju u prethodnom fajlu)

U toku čitanja podataka iz objekta klase XmlReader, određuje se da li je to važno ili ne za aplikaciju. Kako se koja stavka pročita, pokazivač se uveava tako da pokazuje na sledeću stavku.

Pazite: nije moguće vraćanje na prethodnu stavku prilkom korišćenja XmlReader-a jer je sa njim čitanje uvek FORWARD ONLY.

Zatvaranje XmlReader objekta

Nakon što je pročitan sadržaj fajla, trebalo bi taj fajl i zatvoriti. Za to se koristo metoda Close() i sa njom se ujedno i oslobađaju korišćeni resursi:

mojReader.Close();

Zadatak:

Pročitati jedan XML fajl i za to koristiti XmlReader. Za svaki čvor prikazati tip čvora, vrednost i naziv čvora.

Ovde ćemo upotrebiti fajl koji je kreiran u prethodnom primeru (Filmovi.xml), a vi možete upotrebiti bilo koji validan XML fajl.

Program prolazi kroz XML fajl korišćenjem metode Read(). Sa svakim pozivom metode Read(), prikazuje se tip čvora, zajedno sa vrednošću i imenom. Aplikacija takođe prikazuje podatke sa formatiranjem.

Evo kako treba da izgleda forma:

slika forme: čvor i txtNode, ispod Vrednost: txtValue, ispod Naziv: txtName, ispod Format:, ispod dugme Sledeći i Izlaz

( Projekat koji je rađen na času: WindowsFormsApp4.zip,

 ali ako nemate VS 2019, možete oreuzeti samo programski kod za Form1.cs)


U ovom programskom kodu se koristi metoda Read() da bi se pročitao svaki XML čvor iz fajla. Jednom kada je čvor pročitan, sledećih nekoliko linija se koriste za prenos vrednosti iz čvora na ekran:

txtNode.Text  = xtr.NodeType.ToString();
txtName.Text  = xtr.Name.ToString();
txtValue.Text = xtr.Value.ToString();

Kada se klikne na taster Sledeći, prikazuje se sledeći čvor. Primetićete da nemaju svi tipovi čvorova i ime i vrednost.

Kada se stigne do kraja fajla, vrednosti u dijalog boksu se postavljaju na EOF.

Poslednja izmena: субота, 22. јануар 2022, 19:02