$str = file_get_contents('test.xml');
$xml = simplexml_load_string($str);
echo $xml->title. "<br>";
echo $xml->ingredient[2]. "<br>"; // элементы массивы нумеруются с нуля
echo $xml['name']. "<br>";
echo $xml->ingredient['amount'];
echo '<pre>';
print_r($xml);
echo '</pre>';
/*
$xmld = simplexml_load_file('00000000104.xml') or die('Не удалось создать объект'); // from dh
echo $xmld->object['value'] . "<br>";
echo $xmld->path[0]['caption'];
echo $xmld['name'] . "<br>";
echo $xmld->parts->part->blocks->block->elements->element->object['value'] . "<br>";
echo $xmld->parts->part->blocks->block->elements->element->table->rows->row->object['value'] . "<br>";
echo '<pre>';
print_r ($xmld);
echo '</pre>';
*/
test.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>
</instructions>
</recipe>
Итог работы скрипта:
# Простой хлеб
# Тёплая вода
# хлеб
# 3
SimpleXMLElement Object
(
[@attributes] => Array
(
[name] => хлеб
[preptime] => 5
[cooktime] => 180
)
[title] => Простой хлеб
[ingredient] => Array
(
[0] => Мука
[1] => Дрожжи
[2] => Тёплая вода
[3] => Соль
)
[instructions] => SimpleXMLElement Object
(
[step] => Array
(
[0] => Смешать все ингредиенты и тщательно замесить.
[1] => Закрыть тканью и оставить на один час в тёплом помещении.
[2] => Замесить ещё раз, положить на противень и поставить в духовку.
)
)
)