Последние учебники веб-разработки
×

PHP Руководство

PHP ГЛАВНАЯ PHP вступление PHP устанавливать PHP Синтаксис PHP переменные PHP Echo / Версия для печати PHP Типы данных PHP Строки PHP Константы PHP операторы PHP If...Else...Elseif PHP Switch PHP В то время как Loops PHP Для Loops PHP функции PHP Массивы PHP Сортировка массивов PHP Суперглобальные

PHP обращение

PHP форма обращение PHP форма Проверка PHP форма необходимые PHP форма URL/E-mail PHP форма полный

PHP продвинутый

PHP Массивы Мульти PHP Дата и время PHP Включают PHP файл обращение PHP файл Открыть / Read PHP файл Создание / запись PHP файл Загрузить PHP Cookies PHP Sessions PHP фильтры PHP Filters продвинутый PHP Ошибка обращение PHP исключение

MySQL Database

MySQL База данных MySQL соединение MySQL Create DB MySQL Create Таблица MySQL Insert Data MySQL Получить Последняя ID MySQL Вставка нескольких MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML Парсеры PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX вступление AJAX PHP AJAX База данных AJAX XML AJAX Live Search AJAX RSS Reader AJAX Голосование

PHP Examples

PHP Примеры PHP викторина PHP сертификат

PHP Справка

PHP массив PHP Календарь PHP Дата PHP каталог PHP Ошибка PHP Файловая система PHP Фильтр PHP FTP PHP HTTP PHP Libxml PHP почта PHP математический PHP Разное PHP MySQLi PHP SimpleXML PHP строка PHP XML PHP Zip PHP Часовые пояса

 

PHP XML Parser Expat


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


XML Expat Parser

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

Посмотрите на следующую долю XML:

<from>Jani</from>

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

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

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


XML файла

XML - файл "note.xml" будет использоваться в следующем примере:

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

Инициализация XML Expat Parser

Мы хотим, чтобы инициализировать XML Expat Parser в 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("note.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);
?>
Выполнить пример »

Объяснение примера:

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

Более PHP XML Expat Parser

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