Урок за PHP XML: Създаване, анализиране, четене с пример

Съдържание:

Anonim

Какво е XML?

XML е съкращението за Extensible Markup Language.

XML се използва за структуриране, съхраняване и транспортиране на данни от една система в друга.

XML е подобен на HTML.

Той използва етикети за отваряне и затваряне.

За разлика от HTML, XML позволява на потребителите да определят свои собствени тагове.

В този урок ще научите -

  • Какво е DOM?
  • XML парсери
  • Защо да използвам XML?
  • Пример за XML документ
  • Как да четем XML с помощта на PHP
  • Как да създадете XML документ с помощта на PHP

Какво е DOM?

DOM е съкращението за Document Object Model.

Това е междуплатформен и езиково неутрален стандарт, който определя как да се осъществява достъп и манипулиране на данните;

  • HTML
  • XHTML
  • XML

DOM XML се използва за достъп и манипулиране на XML документи. Той разглежда XML документа като дървовидна структура.

XML парсери

XML парсер е програма, която превежда XML документа в обект на XML документ (DOM).

След това XML DOM обектът може да бъде манипулиран с помощта на JavaScript, Python и PHP и т.н.

Ключовата дума CDATA, която е съкращението за (Unparsed) Character Data, се използва за игнориране на специални символи като „<,>“ при анализиране на XML документ.

Защо да използвам XML?

  • Уеб услуги като SOAP и REST използват XML формат за обмен на информация. Научаването какво е XML и как работи ще ви донесе конкурентно предимство като разработчик, тъй като модерните приложения използват широко уеб услугите.
  • XML документите могат да се използват за съхраняване на конфигурационни настройки на приложение
  • Позволява ви да създавате свои собствени персонализирани маркери, които го правят по-гъвкав.

Пример за XML документ

Да предположим, че разработвате приложение, което получава данни от уеб услуга в XML формат.

По-долу е даден пример за това как изглежда XML документът.

Joe Paul
CEOTasha Smith
Finance Manager

ТУК,

  • “ Указва xml версията, която ще се използва и кодирането
  • „<Служители статус =" добре ">“ е основният елемент.
  • „<Запис ...> ... “ са дъщерните елементи на администрацията и продажбите съответно.

Как да четем XML с помощта на PHP

Нека сега напишем кода, който ще прочете XML документа на служителите и ще покаже резултатите в уеб браузър. 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 . '

';}?>

ТУК,

  • “$ Xml = simplexml_load_file ('staff.xml');” използва функцията simplexml_load_file, за да зареди името на файла staff.xml и да присвои съдържанието на променливата на масива $ xml.
  • “$ List = $ xml-> запис;” получава съдържанието на възела за запис.
  • „For ($ i = 0; $ i
  • “$ List [$ i] -> attributes () -> man_no;” чете атрибута man_no на елемента
  • “$ List [$ i] -> name;” чете стойността на име дъщерния елемент
  • “$ List [$ i] -> позиция;” чете стойността на дочерния елемент на позицията

Тестване на нашето приложение

Ако приемем, че сте запазили файла index.php в папката phptus / xml, намерете URL адреса http: //localhost/phptuts/xml/index.php

Как да създадете XML документ с помощта на PHP

Сега ще разгледаме как да създадем XML документ с помощта на PHP.

Ще използваме горния пример в диаграмата на DOM дърво.

Следващият код използва вградения в PHP клас DOMDocument за създаване на 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";?>

ТУК,

  • „$ Dom = нов DOMDocument ();“ създава екземпляр на клас DOMDocument.
  • „$ Dom-> encoding = 'utf-8';“ задава кодирането на документа на utf-8
  • “$ Dom-> xmlVersion = '1.0';” указва номера на версията 1.0
  • “$ Dom-> formatOutput = true;” гарантира, че изходът е добре форматиран
  • "$ Root = $ dom-> createElement ('Филми');" създава коренния възел с име Филми
  • "$ Attr_movie_id = нов DOMAttr ('movie_id', '5467');" дефинира атрибута id на филма на възел Movies
  • “$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')” създава дъщерния възел на възел Филми. ElementName указва името на елемента, напр. Title. ElementValue задава стойността на дъщерния възел, напр. Кампанията.
  • “$ Root-> appendChild ($ movie_node);” добавя елементите movie_node към основния възел Филми
  • “$ Dom-> appendChild ($ root);” добавя коренния възел към XML документа.
  • “$ Dom-> save ($ xml_file_name);” записва XML файла в основната директория на уеб сървъра.
  • “Echo ''. $ xml_file_name. „ е създаден успешно“; “ създава връзката към XML файла.

Тестване на нашето приложение

Ако приемем, че сте запазили файла create_movies_list в папката phptuts / xml, намерете URL адреса http: //localhost/phptuts/xml/create_movies_list.php

Кликнете върху връзката movies_list_xml

Обобщение

  • XML е съкращението за Extensible Markup Language
  • XML може да се използва за обмен на информация между системи или за съхранение на конфигурационни настройки на приложение и т.н.
  • DOM е съкращението за Document Object Model. XML DOM разглежда XML документа като дървовидна структура
  • XML Parser е програма, която превежда XML XML документ в DOM дървовидна структура като документ.
  • CDATA се използва за игнориране на специални символи при анализиране на XML документи.
  • PHP използва simplexml_load_file за четене на XML документи и връщане на резултатите като числов масив
  • PHP DOMDocument клас за създаване на XML файлове.