Lucrul cu xml în php, trebachev dmitry

Parsarea site-urilor

Acum vom studia lucrul cu XML. XML este un format pentru schimbul de date între site-uri. Este foarte similar cu HTML, doar XML permite etichetele și atributele sale.







De ce este necesar XML atunci când parsăm? Uneori se întâmplă că site-ul de care aveți nevoie de sparsit are un API, cu ajutorul căruia puteți obține ceea ce doriți, în special fără a vă tensiona. Prin urmare, sfatul imediat - înainte de a parcurge site-ul, verificați dacă acesta are un API.

Ce este un API? Acesta este un set de funcții prin care puteți trimite o solicitare pe acest site și puteți obține răspunsul corect. Cel mai adesea acest răspuns vine în format XML. Deci, să începem să o studiem.

Lucrul cu XML în PHP

Să presupunem că aveți XML. Poate fi într-un șir, fie stocat într-un fișier, fie dat la cerere la o anumită adresă URL.







Să se stocheze XML într-un șir. În acest caz, trebuie să creați un obiect din acest șir cu noul SimpleXMLElement.

Acum avem un obiect cu XML paralizat în variabila $ xml. Accesând proprietățile acestui obiect, puteți accesa conținutul etichetelor XML. Cum exact - vom analiza un pic mai jos.

Dacă XML este stocat într-un fișier sau dat unui URL (care este adesea cazul), atunci ar trebui să utilizați funcția simplexml_load_file. care face același obiect $ xml.

Metode de lucru

În exemplele de mai jos, XML-ul nostru este stocat într-un fișier sau într-un URL.

Să se furnizeze următorul XML:

Să obținem numele, vârsta și salariul angajatului:

După cum puteți vedea, obiectul $ xml are proprietăți corespunzătoare etichetelor.

S-ar putea să fi observat că eticheta nu apare nicăieri în circulație. Acest lucru se datorează faptului că este eticheta rădăcină. Puteți să îl redenumiți, de exemplu, la - și nimic nu se va schimba:

Eticheta rădăcină în XML poate fi doar una, la fel ca eticheta în HTML simplu.

Să ne modificăm doar XML:

În acest caz, vom avea un lanț de rezultate:

Lucrul cu atributele







Articole similare

Trimiteți-le prietenilor: