|
В този урок ще поговорим за връзката между PHP и XML. Но преди това трябва да си припомним какво беше XML. Това е език, който описва информацията, и по точно структурата на тази информация. XML означава Extensible Markup Langugae. Което от своя страна значи, че вие определяте таговете. Ако искате да научите повече за XML разгледайте уроците в It-place на тази тема. А сега да се върнем към темата на урока. Връзките м/у PHP и XML са 3 на брой. Това са: PHP XML Expat Parser, PHP XML DOM и PHP XML SimpleXML. Ще разгледаме всеки един вид подробно:
1. PHP XML Expat Parser – за да виждате, променяте или създавате XML файл ви трябва така наречения XML Parser. Има 2 основни типа parser–и: А) С дървовидна структура – преобразува XML документа в дървовидна структура. Така се анализира целия файл, и се дава достъп до елементите. Б) Базирани на събития – показва XML документа като серия от събития. Когато особено събитие се случи, то извиква функция, която да го обработи. PHP XML Expat Parser е Parser базиран на събития, но не се отнася към структурата, а към съдържанието (информацията) на документа. Точно заради тази разновидност, този вид Parser –и имат по-голямо бързодействие от дървовидните Parser –и.Ето един пример: CODE
Parser базиран на събития описва този пример по следния начин:
Документа по-горе е добре формиран, но не е валиден XML файл, защото няма Document Type Definition (DTD) в него. Все пак това не пречи на Expat Parser –а, защото той е независим от всякаква валидация. Но ако не документа не е формиран добре, е възможно да се появят грешки. Фактът че този Parser е бърз и малък го прави идеалният помошник на PHP апликациите. Този е Parser е включен в самото PHP ядро, което го прави още по-лесен за използване. Сега нека да разгледаме и пример, как да използваме Expat Parser –а с PHP. XML документа изглежда по следния начин: CODE
И ето как да го вмъкнем в PHP скрипт: CODE
Изходния код: -- Note -- To: Tove From: Jani Heading: Reminder Message: Don't forget me this weekend! Как работи: 1.Парафира XML parser -а с функцията xml_parser_create(). 2.Създава функция, която да се използва от различен event handler. 3.Добавя функцията xml_set_element_handler() за да определи коя функция да оперира след като parser -а започне да прави рзбор на елементите. 4.Добавя функцията xml_set_character_data_handler() за да определи коя функция да оперира след като parser -а започне да прави рзбора на данните. 5.Разбива файлът "test.xml" с функцията xml_parse(). 6.Ако се появи грешка, добавя функцията xml_error_string() за да конвертира XML грешката в текст. 7.Извиква функцията xml_parser_free() за да покаже това, което е записано във функцията xml_parser_create() .
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||









