Interacțiunea dintre php și xml prin dom xml, portal znan, portal de cunoștințe, învățământ la distanță

Interacțiunea dintre PHP și XML prin DOM XML

Ce se întâmplă dacă interacțiunea dintre PHP și XML se face folosind modelul obiect DOM. Modulul DOM XML definește în PHP mai multe clase, cum ar fi DomNode. DOMDocument. DOMElement. DomText și DomAttribute. dintre care majoritatea provin din nucleul standardului DOM. Aproape pentru toate clasele (în special pentru cele de mai sus), clasa DomNode este clasa parentală. astfel încât proprietățile și metodele sale sunt moștenite de toate celelalte clase.







Exemplul 14.2. Colecția "Personalitate" sub forma unui fișier XML (persons.xml)

În viitor, oferind exemple, vom folosi acest fișier.

Traducerea datelor XML de fișiere în obiecte și clase PHP

Primul lucru pe care trebuie să-l facem dacă vrem să lucrăm cu date XML în PHP cu extensia DOM XML. Aceasta traduce datele existente în obiecte și clase DOM. Acest lucru se poate face în mai multe moduri.

  1. Utilizând funcția domxml_open_mem.
Ca parametru, această funcție ia str. Str. conținând un document XML. Rezultatul muncii sale este un obiect de clasă numit DOMDocument.
  • Folosind funcția domxml_open_file.

    Această funcție procesează un fișier XML al cărui nume este specificat de parametrul nume fișier și îl traduce într-un obiect din clasa DOMDocument. Accesul la fișier este numai pentru citire.

  • Astfel de funcții precum domxml_open_mem () și domxml_open_file (). de regulă, trebuie să sunați înainte de a apela orice alte funcții asociate extensiei DOM.

    Aceste funcții convertesc un fișier XML într-un arbore obiect. Aceste obiecte pot fi accesate folosind diverse metode. În special, metoda DomDocument-> document_element () este utilizată pentru a selecta elementul rădăcină.

    Există, de asemenea, o funcție domxml_new_doc (versiune șir). care creează un nou document XML gol. Parametrul său este numărul versiunii documentului creat. Dar nu o vom atinge, dar vom presupune că fișierul XML a fost deja creat.

    Exemplul 14.3. Traducerea unui fișier XML într-un arbore de obiecte PHP și evidențierea elementului rădăcină

    Deci, pentru fiecare element al fișierului XML am pus în corespondență un obiect. Acum trebuie să înveți cum să navighezi prin arborele obiect și să rezolvi aceste obiecte: să-ți schimbi valorile, să-ți găsești descendenții și strămoșii, să ștergi obiecte.







    Omiterea arborelui obiect

    Pentru a obține valoarea nodului curent (indiferent de tipul acestuia), se utilizează metoda DomNode-> node_value () sau DomNode-> get_content () pentru a obține conținutul de nod.

    Pentru a obține valoarea atributului, utilizați metoda DomElement-> get_attribute (attr_name). Și metoda DomNode-> child_nodes () returnează o gamă de copii ai acestui nod.

    Pentru a traversa arborele obiect, este, de asemenea, util să se poată distinge obiectele după tip, adică determina dacă un nod este un element (etichetă), text, atribut etc. În acest scop sunt utilizate constante speciale. XML_ELEMENT_NODE determină dacă nodul este un element. XML_ATTRIBUTE_NODE determină dacă nodul este un atribut și XML_TEXT_NODE determină dacă nodul este o bucată de text. Aceste constante au valori întregi de 1,2 și respectiv 3. Utilizarea acestor constante este utilă, deoarece traducerile de linii utilizate pentru lizibilitatea fișierelor XML devin și noduri.

    Exemplul 14.4. Omiterea arborelui XML

    Deci, am învățat să ocolim copacul XML. Acum puteți încerca să găsiți ceva în fișierul XML. Adevărat, acest lucru nu este din nou în întregime convenabil, din cauza rupturilor de linie pe care le-am folosit la scrierea fișierului XML. Fie ca fișierul nostru XML să fie scris într-o linie sau, mai degrabă, are următoarea linie:

    Adăugarea de elemente noi într-un document XML

    Apoi, vom analiza problema, cum să adăugăm o nouă identitate la baza noastră de date cu php.

    Apoi puteți seta unele valori pentru elementele descrierii persoanei. De exemplu, puteți să întrebați numele unei persoane, data nașterii etc. În final pe care doriți să înregistrați descrierea rezultată a persoanei ca un copil al elementului rădăcină al arborelui DOM folosind metoda DomNode-> append_child (new_node). unde ca parametru obiectul creat (noul nod) este transferat.

    În PHP înainte de versiunea 4.3, înainte de a adăuga un copil la nod cu această funcție, acest copil a fost copiat pentru prima dată. Astfel, noul nod a fost o copie nouă care s-ar putea schimba fără a schimba nodul trecut ca parametru pentru această funcție. În versiunile ulterioare de PHP, noul nod este eliminat din contextul existent, dacă există deja în arbore. Acest comportament este compatibil cu specificațiile W3C.

    Pentru a șterge un nod, puteți utiliza metoda aplicând-o la nodul pe care doriți să-l ștergeți, adică DomNode-> unlink_node ().

    Exemplul 14.5. Adăugarea unei descrieri a unei persoane noi în director

    Respectați respectul pe dosodkovі posilannya

    Yakshcho tu tsikavit.

    Prelegerea introduce conceptul de model de obiect al documentului XML și utilizarea lui în PHP. Instalarea extensiei DOM XML. Procesarea elementelor XML ale documentelor utilizând funcțiile PHP (obținerea valorii unui nod, atribut etc.) Un exemplu este utilizarea unei baze de date XML ca alternativă la un DBMS relațional (implementarea interfeței virtuale a unui muzeu virtual).

    PHP (pronunțat pee-eich-pi) este un limbaj de programare scripting conceput pentru a genera pagini HTML pe un server web și a lucra cu baze de date. Acum este susținută de majoritatea covârșitoare a reprezentanților gazdei. Inclus în LAMP - "standard" setat pentru crearea site-urilor web.







    Articole similare

    Trimiteți-le prietenilor: