ГлавнаяСтатьиПроектыФотографияМатериалыКарта узлаО себеКарта сайтаНовости(версия для печати)

P

HP-сценарий для разбора XML

Во многих PHP-сценариях я использую XML-текст для хранения и передачи данных. Существуют различные дополнения к интерпретатору PHP, позволяющие обрабатывать XML-документы. Но, видимо, мне было лень их использовать, и я как-то написал анализатор на самом PHP.

З

агрузить

Zip-архив  xml.lib.zip (2.12 КБайт) v0.4.

О

писание

Подключите модуль «xml.lib.php» и вызывайте функцию ReadXML ( $MarkUp ), которая строит массив, соответственно иерархии элементов XML-текста. Диагностика правильности документа не производится.

П

ример работы

В php-документе пишем строки:


  require ( "xml.lib.inc" );
  $XML = ReadXML ( "Test document 
  • 1 st
  • 2 nd
"
);   // Обратное отладочное преобразование в XML-текст PrintXML ( $XML[0], 0 );   // Отладочный вывод массива var_export ( $XML, true ); >

В итоге получаем следующий вывод:


. . Test document
. .

    . . . .

  • . . . . . . 1 st
    . . . .

  • . . . .

  • . . . . . . 2 nd
    . . . .

  • . .


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', ), ), ), ), ), ), ), )

С уважением, Максим Проскурня.

19 февраля 2005 — 19 февраля 2005
Максим Проскурня
© 1997–2009 AxoFiber, axofiber.org.ru