Подключите модуль «xml.lib.php» и вызывайте функцию ReadXML ( $MarkUp ), которая строит массив, соответственно иерархии элементов XML-текста. Диагностика правильности документа не производится.
В php-документе пишем строки:
<?php include_once ( "xml.lib.inc" ); $XML = ReadXML ( "<doc>Test document <ul><li>1 st</li><li>2 nd</li></ul></doc>" ); // Обратное отладочное преобразование в XML-текст PrintXML ( $XML[0], 0 ); // Отладочный вывод массива var_export ( $XML, true ); ?>
В итоге получаем следующий вывод:
<doc>
. . Test document
. . <ul>
. . . . <li>
. . . . . . 1 st
. . . . </li>
. . . . <li>
. . . . . . 2 nd
. . . . </li>
. . </ul>
</doc>
array ( 0 => array ( 'ELEM' => 'TAG', 'NAME' => 'doc', 'BODY' => array ( 0 => array ( 'ELEM' => 'TEXT', 'BODY' => 'Test document', ), 1 => array ( 'ELEM' => 'TAG', 'NAME' => 'ul', 'BODY' => array ( 0 => array ( 'ELEM' => 'TAG', 'NAME' => 'li', 'BODY' => array ( 0 => array ( 'ELEM' => 'TEXT', 'BODY' => '1 st', ), ), ), 1 => array ( 'ELEM' => 'TAG', 'NAME' => 'li', 'BODY' => array ( 0 => array ( 'ELEM' => 'TEXT', 'BODY' => '2 nd', ), ), ), ), ), ), ), )