Samouczek PHP XML: tworzenie, analizowanie, czytanie z przykładem

Spisie treści:

Anonim

Co to jest XML?

XML to skrót od Extensible Markup Language.

XML jest używany do strukturyzowania, przechowywania i przenoszenia danych z jednego systemu do drugiego.

XML jest podobny do HTML.

Używa tagów otwierających i zamykających.

W przeciwieństwie do HTML, XML umożliwia użytkownikom definiowanie własnych tagów.

W tym samouczku nauczysz się:

  • Co to jest DOM?
  • Parsery XML
  • Dlaczego warto używać XML?
  • Przykład dokumentu XML
  • Jak czytać XML za pomocą PHP
  • Jak stworzyć dokument XML za pomocą PHP

Co to jest DOM?

DOM to skrót od Document Object Model.

Jest to wieloplatformowy i neutralny językowo standard, który definiuje sposób uzyskiwania dostępu do danych i manipulowania nimi;

  • HTML
  • XHTML
  • XML

DOM XML służy do uzyskiwania dostępu do dokumentów XML i manipulowania nimi. Wyświetla dokument XML jako strukturę drzewa.

Parsery XML

Parser XML to program, który tłumaczy dokument XML na obiekt XML Document Object Model (DOM).

Obiektem XML DOM można następnie manipulować za pomocą JavaScript, Python i PHP itp.

Słowo kluczowe CDATA, które jest akronimem (Unparsed) Character Data, jest używane do ignorowania znaków specjalnych, takich jak „<,>” podczas analizowania dokumentu XML.

Dlaczego warto używać XML?

  • Usługi internetowe, takie jak SOAP i REST, używają formatu XML do wymiany informacji. Nauczenie się, czym jest XML i jak działa, zapewni Ci przewagę konkurencyjną jako programista, ponieważ nowoczesne aplikacje intensywnie wykorzystują usługi internetowe.
  • Dokumentów XML można używać do przechowywania ustawień konfiguracyjnych aplikacji
  • Umożliwia tworzenie własnych niestandardowych tagów, dzięki czemu jest bardziej elastyczny.

Przykład dokumentu XML

Załóżmy, że tworzysz aplikację, która pobiera dane z usługi internetowej w formacie XML.

Poniżej znajduje się przykładowy wygląd dokumentu XML.

Joe Paul
CEOTasha Smith
Finance Manager

TUTAJ,

  • ” Określa wersję XML, która ma być używana i kodowanie
  • Elementem głównym jest „”.
  • … ” to elementy podrzędne odpowiednio administracji i sprzedaży.

Jak czytać XML za pomocą PHP

Napiszmy teraz kod, który odczyta dokument XML pracowników i wyświetli wyniki w przeglądarce internetowej. 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 . '

';}?>

TUTAJ,

  • „$ Xml = simplexml_load_file ('workers.xml');” używa funkcji simplexml_load_file, aby załadować nazwę pliku workers.xml i przypisać zawartość do zmiennej tablicowej $ xml.
  • „$ List = $ xml-> rekord;” pobiera zawartość węzła rekordu.
  • „For ($ i = 0; $ i
  • „$ Lista [$ i] -> atrybuty () -> man_no;” odczytuje atrybut man_no elementu
  • „$ List [$ i] -> nazwa;” odczytuje wartość elementu podrzędnego name
  • „$ List [$ i] -> pozycja;” odczytuje wartość elementu potomnego position

Testowanie naszej aplikacji

Zakładając, że zapisałeś plik index.php w folderze phptus / xml, przejdź do adresu URL http: //localhost/phptuts/xml/index.php

Jak stworzyć dokument XML za pomocą PHP

Przyjrzymy się teraz, jak utworzyć dokument XML za pomocą PHP.

Skorzystamy z powyższego przykładu na diagramie drzewa DOM.

Poniższy kod używa PHP wbudowanego w klasę DOMDocument do tworzenia dokumentu XML.

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";?>

TUTAJ,

  • „$ Dom = new DOMDocument ();” tworzy instancję klasy DOMDocument.
  • „$ Dom-> encoding = 'utf-8';” ustawia kodowanie dokumentu na utf-8
  • „$ Dom-> xmlVersion = '1.0';” określa numer wersji 1.0
  • „$ Dom-> formatOutput = true;” zapewnia, że ​​dane wyjściowe są dobrze sformatowane
  • „$ Root = $ dom-> createElement ('Movies');” tworzy węzeł główny o nazwie Movies
  • „$ Attr_movie_id = new DOMAttr ('movie_id', '5467');” definiuje atrybut identyfikatora filmu w węźle filmów
  • „$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')” tworzy węzeł podrzędny węzła Movies. ElementName określa nazwę elementu, np. Tytuł. ElementValue ustawia wartość węzła podrzędnego, np. The Campaign.
  • „$ Root-> appendChild ($ movie_node);” dołącza elementy movie_node do głównego węzła Movies
  • „$ Dom-> appendChild ($ root);” dołącza węzeł główny do dokumentu XML.
  • „$ Dom-> save ($ xml_file_name);” zapisuje plik XML w katalogu głównym serwera WWW.
  • „Echo ''. $ xml_file_name. ' został pomyślnie utworzony'; ” tworzy łącze do pliku XML.

Testowanie naszej aplikacji

Zakładając, że zapisałeś plik create_movies_list w folderze phptuts / xml, przejdź do adresu URL http: //localhost/phptuts/xml/create_movies_list.php

Kliknij link movies_list_xml

Podsumowanie

  • XML to skrót od Extensible Markup Language
  • XML może służyć do wymiany informacji między systemami, przechowywania ustawień konfiguracyjnych aplikacji itp.
  • DOM to skrót od Document Object Model. XML DOM wyświetla dokument XML jako strukturę drzewa
  • Parser XML to program, który tłumaczy XML dokumentu XML na dokument o strukturze drzewa DOM.
  • CDATA służy do ignorowania znaków specjalnych podczas analizowania dokumentów XML.
  • PHP używa simplexml_load_file do odczytywania dokumentów XML i zwracania wyników w postaci tablicy numerycznej
  • PHP DOMDocument do tworzenia plików XML.