Лучшее руководство по PHP XML Expat анализатор в 2024 году. В этом руководстве вы можете изучить Что такое XML?,Что Expat да?,устанавливать,XML-файл,Инициализировать XML-анализатор,Более подробная информация PHP Expat анализатор,
PHP XML Expat анализатор
Встроенный в PHP Expat синтаксического анализатора позволяет обрабатывать XML-документы.
Что такое XML?
XML используется для описания данных и сосредоточиться на том, какие данные Да. XML-файл описывает структуру данных.
В XML нет предопределенных тегов. Вы должны определить свои собственные теги.
Чтобы узнать больше о XML, пожалуйста , посетите наш XML учебник .
Что Expat да?
Для чтения и обновления - создать и процесс - документ XML, вам нужен XML-анализатор.
Есть два основных типа XML парсеров:
- На основе дерева синтаксического анализа: Этот анализатор преобразует документ XML в виде древовидной структуры. Он анализирует весь документ, а также предоставляет доступ к элементам в дереве, таких как объектной модели документа (DOM).
- Событие на основе синтаксического анализа: XML-документ в виде серии событий. Когда происходит определенное событие, СА будет вызывать функцию для обработки.
Expat анализатор на основе событий синтаксического анализа.
Событийный парсер внимание на содержание документа XML, а не их структуру. Из-за этого, на основе событий, синтаксический анализатор может получить доступ к данным быстрее, чем на основе дерева синтаксического анализа.
Рассмотрим следующий фрагмент XML:
На основе событий анализатор сообщает XML выше в виде серии из трех событий:
- Запустить элемент: от
- Начало секции CDATA, значение: Яни
- Закрыть элемент: от
Пример XML выше, содержит хорошо сформированные XML. Но этот пример не является действительным XML, так как типа документа (DTD) не связан с ним.
Тем не менее, при использовании Expat парсер, это не имеет никакого значения. Expat анализатор не проверяется на достоверность, игнорировать любые DTD.
В основе событий,, непроверяющий XML парсер, Expat быстрый и легкий, очень подходит для веб-приложений PHP.
Примечание: XML - документ должен быть хорошо образован, в противном случае Expat выдаст ошибку.
устанавливать
Функции синтаксического анализа XML Expat являются частью ядра PHP. Никакой установки не требуется, чтобы использовать эти функции.
XML-файл
XML-файл ниже будет использоваться в нашем примере:
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Инициализировать XML-анализатор
Мы хотим, чтобы инициализировать XML-парсер в PHP, определить процессор для различных событий XML, а затем разобрать файл XML.
примеров
//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);
?>
Код выше вывод будет:
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!
Как это работает:
- По xml_parser_create () функция инициализирует XML-анализатор
- Создание с другой функции обработчика событий
- Добавить xml_set_element_handler () функцию для определения, какую функцию выполнять, когда парсер встречает начальный и конечный теги
- Добавить xml_set_character_data_handler () функцию для определения, какую функцию выполнять, когда парсер встречает символьные данные
- По xml_parse () функции для разбора файла "test.xml"
- В случае, если произошла ошибка, а затем добавить xml_error_string () функцию для преобразования XML-описание текста ошибки
- Вызов xml_parser_free () функцию, чтобы освободить назначен xml_parser_create) функции памяти (
Более подробная информация PHP Expat анализатор
Для получения дополнительной информации о функциях PHP Expat, посетите наш PHP XML Parser Reference Manual .