Есть xml файл, который я хочу распарсить. Делаю я это так:
$get = file_get_contents('./1c.xml');
$arr = simplexml_load_string($get);
print_r($arr);
Получаю вот такой вывод:
SimpleXMLElement Object
(
[Группа] => Array
(
[0] => Первая
)
)
Хотя у меня файл содержит много элементов, вот чего часть:
<Каталог>
<Группа>Дом
<Группа>Первая
<Группа>Классика
<Группа>Футбол
<Номенклатура>
<Наименование>Футболка</Наименование>
<Цена>121</Цена>
<ЦенаСоСкидкой>121</ЦенаСоСкидкой>
<Цвет>Серый</Цвет>
<Размер>44</Размер>
<Материал/>
<Категория/>
</Номенклатура>
Т.е. из-за того, что <Группа>Первая вот так записана, скрипт думает, что объект пустой.
Можно ли эту проблему как-то побороть?
Вообще у вас точка входа - Каталог.
Что бы получить "дом" необходимо написать так:
$arr->Группа->xpath("parent::*")
или так $arr[0]
Получить "Первая"
$arr->Группа
Получить далее
$arr->Группа->Группа
И так далее...
$arr->Группа->Группа->Группа
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники