WeBinstruments

Инструментарий для веб-мастеров

 

Техподдержка и
сопровождение
сайтов


на сайте на всех сайтах для веб разработчиков везде
 
 Скрипты
  PHP скрипты   
  Flash скрипты   
  Javascript скрипты   

 Софт
  Инструменты SEO   
  Разработка сайтов   
  Серверное ПО   

 Документация
  MySQL   
  PHP   
  HTML   
  Протоколы и сервисы Internet   

 Статьи
  PHP   
  MySQL   
  Сервер   
  еще...   

 Услуги и сервисы
  Домены   
  Хостинги   
  Блоки для сайта   

 Новости


 Контакты
  icq: 158325531
  email:
  все контакты: здесь




Atom все поступления
Раздел Новости
Раздел Услуги и сервисы
Раздел Статьи
Раздел Файлы
комментарии



XML class (xml в массив)

14.04.2010
сайт: http://webi.ru

скачать xml class


Простой php класс для разбора xml на многомерный массив.
Подходит для разбора не очень больших xml, так как весь разобранный xml помещается в массив, который будет находится в памяти
Если вам нужно разобрать очень большой xml файл, читайте статью "Разбор большого XML файла с помощью PHP"

Пример использования класса

<?php
$xml
='<?xml version="1.0"?>
<recipe name="хлеб" preptime="5" cooktime="180">
  <title>Простой хлеб</title>
  <ingredient amount="3" unit="стакан">Мука</ingredient>
  <ingredient amount="0.25" unit="грамм">Дрожжи</ingredient>
  <ingredient amount="1.5" unit="стакан">Тёплая вода</ingredient>
  <ingredient amount="1" unit="чайная ложка">Соль</ingredient>
  <instructions>
   <step>Смешать все ингредиенты и тщательно замесить.</step>
   <step>Закрыть тканью и оставить на один час в тёплом помещении.</step>
   <step>Замесить ещё раз, положить на противень и поставить в духовку.</step>
   <step>Посетить сайт webi.ru</step>
  </instructions>
</recipe>'
;

$xmlwebi = new XML();
$arr = $xmlwebi->xmlwebi($xml);
print_r($arr);
?>

Результатом этого кода будет

Array
(
  [recipe] => Array
      (
          [0] => Array
              (
                  [@] => Array
                      (
                          [name] => хлеб
                          [preptime] => 5
                          [cooktime] => 180
                      )

                  [#] => Array
                      (
                          [title] => Array
                              (
                                  [0] => Array
                                      (
                                          [#] => Простой хлеб
                                      )

                              )

                          [ingredient] => Array
                              (
                                  [0] => Array
                                      (
                                          [#] => Мука
                                          [@] => Array
                                              (
                                                  [amount] => 3
                                                  [unit] => стакан
                                              )

                                      )

                                  [1] => Array
                                      (
                                          [#] => Дрожжи
                                          [@] => Array
                                              (
                                                  [amount] => 0.25
                                                  [unit] => грамм
                                              )

                                      )

                                  [2] => Array
                                      (
                                          [#] => Тёплая вода
                                          [@] => Array
                                              (
                                                  [amount] => 1.5
                                                  [unit] => стакан
                                              )

                                      )

                                  [3] => Array
                                      (
                                          [#] => Соль
                                          [@] => Array
                                              (
                                                  [amount] => 1
                                                  [unit] => чайная ложка
                                              )

                                      )

                              )

                          [instructions] => Array
                              (
                                  [0] => Array
                                      (
                                          [#] => Array
                                              (
                                                  [step] => Array
                                                      (
                                                          [0] => Array
                                                              (
                                                                  [#] => Смешать все ингредиенты и тщательно замесить.
                                                              )

                                                          [1] => Array
                                                              (
                                                                  [#] => Закрыть тканью и оставить на один час в тёплом помещении.
                                                              )

                                                          [2] => Array
                                                              (

                                                                  [#] => Замесить ещё раз, положить на противень и поставить в духовку.
                                                              )

                                                          [3] => Array
                                                              (
                                                                  [#] => Посетить сайт webi.ru
                                                              )

                                                      )

                                              )

                                      )

                              )

                      )

              )

      )

)

Как видно, весь массив сохранил структуру xml.
# - это данные внутри тега
@ - это атрибуты тега


Комментарии

RSS комментарии


31.08.2012 Андрей
Есть массив помогите пожалуйста вывести элемент [src] в окно браузера
SimpleXMLElement Object
(
[album] => SimpleXMLElement Object
(
[img] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[src] => 001.jpg
[tn] => tumb/001.jpg
)

)

[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[src] => 002.jpg
[tn] => tumb/002.jpg
)

)

Моя попытка не к чему не превела $xml = $read->img[0]; // доступ к карнивому тегу XML, $xml – объект-массив, вложенные теги – его свойства
echo $xml[0]->src;



Добавить свой комментарий


Ваше имя(* обязательно)


Текст сообщения(* обязательно)









 
 
  запомнить

 
Copyright © 2003-2017 WeBi Constructor
Rambler's Top100