PHP достать не уникальные параметры из XML

238
13 сентября 2018, 08:30

Не получается достать не уникальные записи из XML файла, такое как "name" и "price" могу достать, а данные с "param" никак не получается, в чем моя ошибка? Чтобы получал название параметра, например "Страна производитель" и его значение "Россия" ?

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE yml_catalog SYSTEM "shops.dtd"> 
            <yml_catalog date="2018-07-16 00:40"> 
        <shop> 
<offers> 
<offer available="true" id="137469"> 
<name>Брусчатка Кирпичик ЭКО-плит, 200*100*80, серый</name> 
<price>12</price> 
<param name="Страна производитель">Россия</param> 
<param name="Длина">200 мм</param> 
<param name="Ширина">100 мм</param> 
<param name="Толщина">80 мм</param> 
</offer> 
</offers> 
</shop> 
</yml_catalog>

while ($reader->read()): 
    if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'offer'){ 
        $xml = simplexml_load_string($reader->readOuterXML()); 
        $name = (string)$xml->name; // работает 
        $price = (string)$xml->price; // работает 
 
        foreach((string)$xml->param->attributes() as $name => $val){ 
           echo $name; //не работает 
           echo $val;  //не работает 
    } 
        $reader->next('offer'); 
    } 
endwhile;

READ ALSO
проблемы с mysqli

проблемы с mysqli

На третьем запросе UPDATE пишет ошибкуКак решить эту проблему

340
Отличия некоторых способов вывода в php

Отличия некоторых способов вывода в php

Никак не могу найти, а в чем отличие STDOUT и echo? И что надо использовать, если требуется вывести данные в стандартный поток вывода? Например,...

222
Что делает данный PHP код?

Что делает данный PHP код?

Только начинаю изучать PHPВопрос: Почему условие срабатывает и код выводит строки $value1 и $value2

261