Latest web development tutorials
×

PHP курс

PHP курс PHP Краткое введение PHP устанавливать PHP грамматика PHP переменная PHP echo/print PHP Типы данных PHP постоянная PHP строка PHP операторы PHP If...Else PHP Switch PHP массив PHP Сортировка массива PHP Суперглобальные PHP While циркуляция PHP For циркуляция PHP функция PHP Магические Переменные PHP Пространства имен PHP Объектно-ориентированный

PHP форма

PHP форма PHP Аутентификация с помощью форм PHP форма - Обязательные для заполнения поля PHP форма - Проверка электронной почты и URL PHP Полный экземпляр формы PHP $_GET переменная PHP $_POST переменная

PHP Расширенный учебник

PHP Многомерные Массивы PHP дата PHP содержать PHP файл PHP Загрузка файлов PHP Cookie PHP Session PHP E-mail PHP безопасности E-mail PHP Error PHP Exception PHP фильтр PHP Расширенный фильтр PHP JSON

PHP 7 Новые возможности

PHP 7 Новые возможности

PHP база данных

PHP MySQL Краткое введение PHP MySQL подключение PHP MySQL Создание базы данных PHP MySQL Создание таблицы данных PHP MySQL Вставка данных PHP MySQL Вставка нескольких данных PHP MySQL Подготовленные выражения PHP MySQL Считывание данных PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX Краткое введение AJAX PHP AJAX база данных AJAX XML AJAX Поиск в реальном времени AJAX RSS Reader AJAX голосование

PHP справочное руководство

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP обработка изображений PHP RESTful

PHP XML Expat анализатор

Встроенный в PHP Expat синтаксического анализатора позволяет обрабатывать XML-документы.


Что такое XML?

XML используется для описания данных и сосредоточиться на том, какие данные Да. XML-файл описывает структуру данных.

В XML нет предопределенных тегов. Вы должны определить свои собственные теги.

Чтобы узнать больше о XML, пожалуйста , посетите наш XML учебник .


Что Expat да?

Для чтения и обновления - создать и процесс - документ XML, вам нужен XML-анализатор.

Есть два основных типа XML парсеров:

  • На основе дерева синтаксического анализа: Этот анализатор преобразует документ XML в виде древовидной структуры. Он анализирует весь документ, а также предоставляет доступ к элементам в дереве, таких как объектной модели документа (DOM).
  • Событие на основе синтаксического анализа: XML-документ в виде серии событий. Когда происходит определенное событие, СА будет вызывать функцию для обработки.

Expat анализатор на основе событий синтаксического анализа.

Событийный парсер внимание на содержание документа XML, а не их структуру. Из-за этого, на основе событий, синтаксический анализатор может получить доступ к данным быстрее, чем на основе дерева синтаксического анализа.

Рассмотрим следующий фрагмент XML:

<from>Jani</from>

На основе событий анализатор сообщает XML выше в виде серии из трех событий:

  • Запустить элемент: от
  • Начало секции CDATA, значение: Яни
  • Закрыть элемент: от

Пример XML выше, содержит хорошо сформированные XML. Но этот пример не является действительным XML, так как типа документа (DTD) не связан с ним.

Тем не менее, при использовании Expat парсер, это не имеет никакого значения. Expat анализатор не проверяется на достоверность, игнорировать любые DTD.

В основе событий,, непроверяющий XML парсер, Expat быстрый и легкий, очень подходит для веб-приложений PHP.

Примечание: XML - документ должен быть хорошо образован, в противном случае Expat выдаст ошибку.


устанавливать

Функции синтаксического анализа XML Expat являются частью ядра PHP. Никакой установки не требуется, чтобы использовать эти функции.


XML-файл

XML-файл ниже будет использоваться в нашем примере:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


Инициализировать XML-анализатор

Мы хотим, чтобы инициализировать XML-парсер в PHP, определить процессор для различных событий XML, а затем разобрать файл XML.

примеров

<?php
//Initialize the XML parser
$parser=xml_parser_create();

//Function to use at the start of an element
function start($parser,$element_name,$element_attrs)
{
switch($element_name)
{
case "NOTE":
echo "-- Note --<br>";
break;
case "TO":
echo "To: ";
break;
case "FROM":
echo "From: ";
break;
case "HEADING":
echo "Heading: ";
break;
case "BODY":
echo "Message: ";
}
}

//Function to use at the end of an element
function stop($parser,$element_name)
{
echo "<br>";
}

//Function to use when finding character data
function char($parser,$data)
{
echo $data;
}

//Specify element handler
xml_set_element_handler($parser,"start","stop");

//Specify data handler
xml_set_character_data_handler($parser,"char");

//Open XML file
$fp=fopen("test.xml","r");

//Read data
while ($data=fread($fp,4096))
{
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}

//Free the XML parser
xml_parser_free($parser);
?>

Код выше вывод будет:

-- Note --
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!

Как это работает:

  1. По xml_parser_create () функция инициализирует XML-анализатор
  2. Создание с другой функции обработчика событий
  3. Добавить xml_set_element_handler () функцию для определения, какую функцию выполнять, когда парсер встречает начальный и конечный теги
  4. Добавить xml_set_character_data_handler () функцию для определения, какую функцию выполнять, когда парсер встречает символьные данные
  5. По xml_parse () функции для разбора файла "test.xml"
  6. В случае, если произошла ошибка, а затем добавить xml_error_string () функцию для преобразования XML-описание текста ошибки
  7. Вызов xml_parser_free () функцию, чтобы освободить назначен xml_parser_create) функции памяти (

Более подробная информация PHP Expat анализатор

Для получения дополнительной информации о функциях PHP Expat, посетите наш PHP XML Parser Reference Manual .