PHP XML mokymo programa: kurkite, analizuokite, skaitykite su pavyzdžiu

Kas yra XML?

XML yra Extensible Markup Language akronimas.

XML naudojamas struktūrizuoti, saugoti ir perkelti duomenis iš vienos sistemos į kitą.

XML yra panašus į HTML.

Jis naudoja atidarymo ir uždarymo žymes.

Skirtingai nuo HTML, XML leidžia vartotojams apibrėžti savo žymes.

Šioje pamokoje sužinosite

  • Kas yra DOM?
  • XML analizatoriai
  • Kodėl naudoti XML?
  • XML dokumento pavyzdys
  • Kaip skaityti XML naudojant PHP
  • Kaip sukurti XML dokumentą naudojant PHP

Kas yra DOM?

DOM yra dokumento objekto modelio akronimas.

Tai yra įvairių platformų ir kalbos atžvilgiu neutralus standartas, apibrėžiantis, kaip pasiekti ir manipuliuoti duomenimis;

  • HTML
  • XHTML
  • XML

DOM XML naudojamas norint pasiekti ir valdyti XML dokumentus. XML dokumentą jis vertina kaip medžio struktūrą.

XML analizatoriai

XML analizatorius yra programa, paverčianti XML dokumentą į XML dokumento objekto modelio (DOM) objektą.

Tada XML DOM objektu galima manipuliuoti naudojant „JavaScript“, „Python“ ir PHP ir kt.

Raktinis žodis CDATA, kuris yra simbolių (nepašalinti) simbolių duomenų trumpinys, naudojamas ignoruojant specialiuosius simbolius, pvz., „<,>“, Kai analizuojamas XML dokumentas.

Kodėl naudoti XML?

  • Žiniatinklio paslaugos, tokios kaip SOAP ir REST, keičiasi informacija naudodamos XML formatą. Sužinoję, kas yra XML ir kaip jis veikia, gausite konkurencinį pranašumą kaip kūrėjas, nes šiuolaikinės programos labai naudojasi interneto paslaugomis.
  • XML dokumentus galima naudoti programos konfigūracijos parametrams išsaugoti
  • Tai leidžia jums sukurti savo pasirinktines žymas, kurios daro ją lankstesnę.

XML dokumento pavyzdys

Tarkime, kad kuriate programą, kuri duomenis iš interneto paslaugos gauna XML formatu.

Žemiau pateikiamas pavyzdys, kaip atrodo XML dokumentas.

Joe Paul
CEOTasha Smith
Finance Manager

ČIA

  • „“ Nurodo naudojamą ir užkoduotą xml versiją
  • “ yra pagrindinis elementas.
  • „<Įrašyti ...>… “ yra atitinkamai antriniai administravimo ir pardavimo elementai.

Kaip skaityti XML naudojant PHP

Dabar parašykime kodą, kuris perskaitys darbuotojų XML dokumentą ir parodys rezultatus žiniatinklio naršyklėje. Index.php


Employees Listing

';$list = $xml->record;for ($i = 0; $i < count($list); $i++) {echo 'Man no: ' . $list[$i]->attributes()->man_no . '
';echo 'Name: ' . $list[$i]->name . '
';echo 'Position: ' . $list[$i]->position . '

';}?>

ČIA

  • "$ Xml = simplexml_load_file ('darbuotojai.xml');“ naudoja funkciją „simplexml_load_file“, kad įkeltų failo pavadinimą „darbuotojai.xml“ ir priskirtų turinį masyvo kintamajam „$ xml“.
  • „$ List = $ xml-> įrašas;“ gauna įrašo mazgo turinį.
  • „For ($ i = 0; $ i
  • „$ List [$ i] -> atributai () -> man_no;“ nuskaito elemento atributą man_no
  • „$ List [$ i] -> vardas;“ nuskaito vardo vaikas elemento vertę
  • „$ List [$ i] -> pozicija;“ nuskaito padėties vaiko elemento vertę

Testuojama mūsų programa

Darant prielaidą, kad failą index.php išsaugojote „phptus / xml“ aplanke, eikite į URL http: //localhost/phptuts/xml/index.php

Kaip sukurti XML dokumentą naudojant PHP

Dabar mes pažvelgsime, kaip sukurti XML dokumentą naudojant PHP.

Mes naudosime aukščiau pateiktą pavyzdį DOM medžio diagramoje.

Šis kodas XML dokumentui sukurti naudoja PHP, pastatytą DOMDocument klasėje.

encoding = 'utf-8';$dom->xmlVersion = '1.0';$dom->formatOutput = true;$xml_file_name = 'movies_list.xml';$root = $dom->createElement('Movies');$movie_node = $dom->createElement('movie');$attr_movie_id = new DOMAttr('movie_id', '5467');$movie_node->setAttributeNode($attr_movie_id);$child_node_title = $dom->createElement('Title', 'The Campaign');$movie_node->appendChild($child_node_title);$child_node_year = $dom->createElement('Year', 2012);$movie_node->appendChild($child_node_year);$child_node_genre = $dom->createElement('Genre', 'The Campaign');$movie_node->appendChild($child_node_genre);$child_node_ratings = $dom->createElement('Ratings', 6.2);$movie_node->appendChild($child_node_ratings);$root->appendChild($movie_node);$dom->appendChild($root);$dom->save($xml_file_name);echo "$xml_file_name has been successfully created";?>

ČIA

  • „$ Dom = naujas DOMDocument ();“ sukuria DOMDocument klasės egzempliorių.
  • „$ Dom-> encoding = 'utf-8';“ nustato dokumento kodavimą į utf-8
  • „$ Dom-> xmlVersion = '1.0';“ nurodo versijos numerį 1.0
  • „$ Dom-> formatOutput = true;“ užtikrina, kad išvestis būtų gerai suformatuota
  • "$ Root = $ dom-> createElement ('Filmai');" sukuria šakninį mazgą pavadinimu Filmai
  • "$ Attr_movie_id = naujas DOMAttr ('movie_id', '5467');" apibrėžia mazgo filmo filmo atributą
  • „$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')“ sukuria Filmų mazgo antrinį mazgą. ElementName nurodo elemento pavadinimą, pvz., Title. ElementValue nustato antrinio mazgo vertę, pvz., „Kampanija“.
  • „$ Root-> appendChild ($ movie_node);“ prideda elementus movie_node prie šakninio mazgo Filmai
  • „$ Dom-> appendChild ($ root);“ prideda šakninį mazgą prie XML dokumento.
  • „$ Dom-> save ($ xml_file_name);“ išsaugo XML failą žiniatinklio serverio šakniniame kataloge.
  • „Echo ''. $ xml_file_name. „ sėkmingai sukurtas“; “ sukuria nuorodą į XML failą.

Testuojama mūsų programa

Darant prielaidą, kad failą create_movies_list išsaugojote phptuts / xml aplanke, eikite į URL : http: //localhost/phptuts/xml/create_movies_list.php

Spustelėkite nuorodą movies_list_xml

Santrauka

  • XML yra Extensible Markup Language akronimas
  • XML gali būti naudojamas keičiantis informacija tarp sistemų arba saugant programos konfigūracijos parametrus ir pan.
  • DOM yra dokumento objekto modelio akronimas. XML DOM XML dokumentą mato kaip medžio struktūrą
  • XML analizatorius yra programa, paverčianti XML XML dokumentą į DOM medžio struktūros dokumentą.
  • CDATA naudojamas norint ignoruoti specialiuosius simbolius, analizuojant XML dokumentus.
  • PHP naudoja „simplexml_load_file“ skaityti XML dokumentus ir grąžinti rezultatus kaip skaitinį masyvą
  • PHP DOMDocument klasė XML failams kurti.

Įdomios straipsniai...