Если simplexml «не парсит» атрибуты…

.. то скорее всего, вы ошибаетесь. Рассмотрим следующий пример XML.

В документе example.xml содержится запись о валюте и информация о категории товара. Обе записи содержат аттрибуты.

Выполним чтение и вывод информации в консоль.

Получим вот такую информацию:

Здесь вы можете удивиться — атрибуты для первой записи currency вы видите, а вот вторая запись category — выведена без атрибутов.

Почему не выведены атрибуты?

Причина в том, что атрибуты выводятся в случае, если нет inline значения тега (как в случае с currency). В случае с категорией тег содержит inline текст — «Собаки».

Как получить значения атрибутов XML в случае заданного inline значения?

Так как мы имеем дело с SimpleXMLElement объектом, то атрибуты узла получаются с помощью метода attributes().

Получаем массив свойств-атрибутов XML узла:

Написать комментарий

Мало букафф? Читайте есчо !

Вариант XML карты сайта для Drupal 7

Ноябрь 8, 2016 г.

Сначала написал вариант для Drupal 6, но в силу актуальности семерки, предлагаю вариант кода для 7й версии. Описание вы найдете в прошлой статье, здесь обновлена только работа с базой данных. Привожу код класса и пример его вызова. Код класса: ...

Читать

Читаем курсы валют, реализация для drupal

Декабрь 5, 2012 г.

Как я писал ранее, хороший информ-сервис, это не куча вариантов виджетов для вашего сайта, а, в наиболее ценном случае, возможность грузить данные информ-сервиса в виде xml. В развитом случае, это целый API для разработчика, с возможностью выборки данных ...

Читать

 

Комментарии к «Если simplexml «не парсит» атрибуты…»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий:

Один комментарий в “Если simplexml «не парсит» атрибуты…”

  1. Sergey:

    Спасибо за пояснение про наличие inline. Кроме вас — нигде не нашел