Функция xml_parse_into_struct() анализирует данные XML в массив.
Эта функция анализирует данные XML в 2 массива:
Массив значений — содержит данные из проанализированного XML.
Массив индексов — содержит указатели на расположение значений в массиве значений.
В случае успеха функция возвращает 1. В случае неудачи возвращается 0.
xml_parse_into_struct(парсер,xml,value_arr,index_arr)
параметр | описывать |
---|---|
парсер | Необходимый. Указывает используемый синтаксический анализатор XML. |
xml | Необходимый. Указывает данные XML для анализа. |
value_arr | Необходимый. Указывает целевой массив для данных XML. |
index_arr | Необязательный. Указывает целевой массив индексных данных. |
Примечание. Функция xml_parse_into_struct() возвращает 1 в случае успеха и 0 в случае неудачи. Это отличается от TRUE и FALSE, поэтому будьте осторожны при использовании, например, оператора ===.
XML-файл
<?xml version="1.0"coding="ISO-8859-1"?><note><to>Тове</to><from>Яни</from><heading>Напоминание</heading><body>Дон не забудь меня на этих выходных!</body></note>
PHP-код
<?php//неверный файл xml$xmlfile = 'test.xml';$xmlparser = xml_parser_create();// открываем файл и читаем данные$fp = fopen($xmlfile, 'r');$xmldata = fread( $фп, 4096);xml_parse_into_struct($xmlparser,$xmldata,$values);xml_parser_free($xmlparser);print_r($values);?>
Вывод приведенного выше кода выглядит следующим образом:
Array([0] => Массив ( [тег] => ПРИМЕЧАНИЕ [тип] => открыть [уровень] => 1 [значение] => )[1] => Массив ( [тег] => TO [тип] = > Complete [уровень] => 2 [значение] => Tove )[2] => Array ( [тег] => ПРИМЕЧАНИЕ [значение] => [тип] => cdata [уровень] => 1 ) [3] = > Массив ([тег] => FROM [тип] => завершено [уровень] => 2 [значение] => Jani )[4] => Массив ( [тег] => ПРИМЕЧАНИЕ [значение] => [тип] => cdata [уровень] = > 1 ) [5] => Массив ( [тег] => ЗАГОЛОВОК [тип] => завершение [уровень] => 2 [значение] => Напоминание )[6] => Массив ( [тег] => ПРИМЕЧАНИЕ [значение] ] => [тип] => cdata [уровень] => 1 ) [7] => Array ( [тег] => BODY [тип] => Complete [уровень] => 2 [значение] => Не забудь меня на этих выходных! )[ 8] => Массив ( [тег] => ПРИМЕЧАНИЕ [значение] => [тип] => cdata [уровень] => 1 )[9] => Массив ( [тег] => ПРИМЕЧАНИЕ [тип] => закрыть [ уровень] => 1 ))