Водич за ПХП КСМЛ: Направите, рашчланите, прочитајте са примером

Преглед садржаја:

Anonim

Шта је КСМЛ?

КСМЛ је скраћеница од Ектенсибле Маркуп Лангуаге.

КСМЛ се користи за структурирање, чување и транспорт података из једног система у други.

КСМЛ је сличан ХТМЛ-у.

Користи ознаке за отварање и затварање.

За разлику од ХТМЛ-а, КСМЛ омогућава корисницима да дефинишу сопствене ознаке.

У овом упутству ћете научити-

  • Шта је ДОМ?
  • КСМЛ парсери
  • Зашто користити КСМЛ?
  • Пример КСМЛ документа
  • Како читати КСМЛ користећи ПХП
  • Како створити КСМЛ документ помоћу ПХП-а

Шта је ДОМ?

ДОМ је скраћеница од Доцумент Објецт Модел.

То је унакрсна платформа и језички неутралан стандард који дефинише начин приступа подацима и управљање њима;

  • ХТМЛ
  • КСХТМЛ
  • КСМЛ

ДОМ КСМЛ се користи за приступ и управљање КСМЛ документима. На КСМЛ документ гледа као на структуру стабла.

КСМЛ парсери

КСМЛ парсер је програм који преводи КСМЛ документ у објект објекта КСМЛ документа (ДОМ).

КСМЛ ДОМ објектом се тада може манипулисати помоћу ЈаваСцрипт-а, Питхона, ПХП-а итд.

Кључна реч ЦДАТА, која је скраћеница за (Нераспоређени) подаци о знаковима, користи се за игнорисање посебних знакова као што је „<,>“ приликом рашчлањивања КСМЛ документа.

Зашто користити КСМЛ?

  • Веб услуге попут СОАП и РЕСТ користе КСМЛ формат за размену информација. Учење шта је КСМЛ и како он функционише донеће вам конкурентску предност као програмера, јер савремене апликације интензивно користе веб услуге.
  • КСМЛ документи се могу користити за чување конфигурационих подешавања апликације
  • Омогућава вам да креирате сопствене прилагођене ознаке које га чине флексибилнијим.

Пример КСМЛ документа

Претпоставимо да развијате апликацију која податке из веб услуге добија у КСМЛ формату.

Испод је узорак како изгледа КСМЛ документ.

Joe Paul
CEOTasha Smith
Finance Manager

ОВДЕ,

  • “ Одређује кмл верзију која ће се користити и кодирање
  • „<Запослени статус =" ок ">“ је основни елемент.
  • „<Запис…>… “ су подређени елементи администрације и продаје.

Како читати КСМЛ користећи ПХП

Напишимо сада код који ће читати КСМЛ документ запослених и приказивати резултате у веб прегледачу. Индек.пхп


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 . '

';}?>

ОВДЕ,

  • „$ Ксмл = симплекмл_лоад_филе ('запосленици.кмл');“ користи функцију симплекмл_лоад_филе за учитавање имена датотеке запосленици.кмл и додељивање садржаја променљивој низа $ кмл.
  • “$ Лист = $ кмл-> рецорд;” добија садржај чвора записа.
  • „Фор ($ и = 0; $ и <цоунт (...)…“) је фор петља која чита нумерички низ и даје резултате
  • “$ Лист [$ и] -> аттрибутес () -> ман_но;” чита атрибут ман_но елемента
  • „$ Лист [$ и] -> наме;“ чита вредност елемента подређеног имена
  • „$ Лист [$ и] -> позиција;“ чита вредност подређеног елемента поситион

Тестирање наше апликације

Под претпоставком да сте датотеку индек.пхп сачували у директоријуму пхптус / кмл, потражите УРЛ хттп: //лоцалхост/пхптутс/кмл/индек.пхп

Како створити КСМЛ документ помоћу ПХП-а

Сада ћемо размотрити како створити КСМЛ документ помоћу ПХП-а.

Користићемо горњи пример у дијаграму ДОМ стабла.

Следећи код користи ПХП уграђен у класу ДОМДоцумент за креирање КСМЛ документа.

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

ОВДЕ,

  • „$ Дом = нови ДОМДоцумент ();“ креира инстанцу класе ДОМДоцумент.
  • “$ Дом-> енцодинг = 'утф-8';" поставља кодирање документа на утф-8
  • „$ Дом-> кмлВерсион = '1.0';“ одређује број верзије 1.0
  • “$ Дом-> форматОутпут = труе;” осигурава да је излаз добро форматиран
  • „$ Роот = $ дом-> цреатеЕлемент ('Филмови');“ креира коренски чвор под називом Филмови
  • „$ Аттр_мовие_ид = нови ДОМАттр ('мовие_ид', '5467');" дефинише атрибут ид филма за чвор Мовиес
  • „$ Цхилд_ноде_елемент_наме = $ дом-> цреатеЕлемент ('ЕлементНаме', 'ЕлементВалуе')“ креира подређени чвор чвора Мовиес. ЕлементНаме наводи име елемента, нпр. Титле. ЕлементВалуе поставља вредност подређеног чвора, нпр. Тхе Цампаигн.
  • „$ Роот-> аппендЦхилд ($ мовие_ноде);“ додаје елементе мовие_ноде у основни чвор Мовиес
  • „$ Дом-> аппендЦхилд ($ роот);“ додаје коријенски чвор КСМЛ документу.
  • “$ Дом-> саве ($ кмл_филе_наме);” чува КСМЛ датотеку у основном директоријуму веб сервера.
  • „Ецхо '<а хреф= "'.$кмл_филе_наме.'">'. $ кмл_филе_наме. ' је успешно направљен'; ” креира везу до КСМЛ датотеке.

Тестирање наше апликације

Под претпоставком да сте датотеку цреате_мовиес_лист сачували у директоријуму пхптутс / кмл, пронађите УРЛ хттп: //лоцалхост/пхптутс/кмл/цреате_мовиес_лист.пхп

Кликните на везу мовиес_лист_кмл

Резиме

  • КСМЛ је скраћеница од Ектенсибле Маркуп Лангуаге
  • КСМЛ се може користити за размену информација између система или складиштење конфигурационих подешавања апликације итд.
  • ДОМ је скраћеница од Доцумент Објецт Модел. КСМЛ ДОМ гледа КСМЛ документ као структуру стабла
  • КСМЛ Парсер је програм који преводи КСМЛ КСМЛ документ у ДОМ структуру стабла попут документа.
  • ЦДАТА се користи за игнорисање посебних знакова приликом рашчлањивања КСМЛ докумената.
  • ПХП користи датотеку симплекмл_лоад_филе за читање КСМЛ докумената и враћање резултата у нумеричком низу
  • ПХП ДОМДоцумент класа за креирање КСМЛ датотека.