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 CEO Tasha Smith Finance Manager
TUTAJ,
- „ Xml version =" 1.0 "encoding =" utf-8 "?>” 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.