Hajde da probam da ti objasnim, pa da ovakve stvari shvatis kako funkcionisu i kako se resavaju.
XML dokument je sirovi tekstualni fajl, koji je tako kreiran da ima te "tagove" (<klijent>, <jmbg>, itd.) koji odredjuju njegovu strukturu.
Da bi XML dokument mogao da bude procitan od strane nekog programa, on mora biti "PARSIRAN".
Parsiranje je proces pretvaranja tekstualnih podataka u takav oblik koji je prepoznatljiv programskom jeziku za dalju obradu u okviru programa koji pravis. Parsiranje je i mnogo vise od toga, ali zasad se zadrzimo na ovoj definiciji.
Postoji vise vrsta parsiranja, a ono sto je tebi ovde potrebno je parsiranje koje ce tvoje tekstualne podatke pretvoriti u objekte. Jer php (kao i vecina savremenih jezika) je objektno orijentisan jezik, i podaci sa kojima barata su, uglavnom, u obliku objekata. I, kao i vecina programskih jezika, php ima u okviru sebe klasu koja se bavi parsiranjem za tebe, tako da ti mnogo olaksava posao. Iako postoji vise klasa (parsera) koje mogu razlicitim metodama da pretvore tvoje xml podatke u objekte, mi cemo se zadrzati na DOM parseru (Document Object Model - samo ime kaze, od dokumenta ces dobiti objekat).
Znajuci prethodno, ovaj zadatak resavas u bukvalno dva koraka:
1. Koristeci php dom parser klasu, tj. neku njenu funkciju, ucitas xml podatke iz fajla u neki objekat:
$html = file_get_html('putanja do tvog fajla'); - ovde si direktno upotrebio ugradjenu php funkciju "file_get_html()" koja ce fajl da ti ucita u objekat ($html).
2. Sada kada sve to imas u objektu, sada je lako: iteriras kroz elemente svog objekta, i ispisujes ih na odgovarajuca mesta. To mozes lako i sam dalje.
Naravoucenije:
Kao sto konstantno ovde naglasavam, jako je bitno razumevati kompletan proces, implementacija je onda lagana, i svejedno je u kojem je programskom jeziku implementacija.
Prica koju sam ti ispricao za parsiranje XML dokumenata, identicna je za svaki programski jezik, tako da, ako to znas i razumes, takav zadatak ces moci da uradis u bilo kojem programskom jeziku viseg nivoa (C, C++, Java, C#, Delphi, Python, Perl.....)