Поскольку структура таких файлов может быть разной, то и трудности при написании своего скрипта также могут быть разными. Сегодня на примере одного из таких файлов, как с помощью PHP получить тот или иной параметр.
Итак, перед нами файл price.xml с примерно такой структурой:
<offers>
<offer id="102" available="true">
<url>www.pandoge.com</url>
<name>Коробка</name>
<param name="Высота">60</param>
<param name="Ширина">20</param>
<param name="Цвет">Синий</param>
</offer>
</offers>
Для теста получим его содержимое, а именно – данные из поля URL:
header("Content-Type: text/html; charset=utf-8");
$xml = simplexml_load_file("./price.xml");
foreach ($xml->offer as $offer) {
echo $offer->url;
}
Вроде бы все просто. А теперь попробуем получить значение, например, параметра «цвет» – и у большинства новичков здесь начинают возникать трудности. А решается эта проблема довольно просто с помощью использования «XPath» – специального языка, созданного для запросов к элементам XML.
header("Content-Type: text/html; charset=utf-8");
$xml = simplexml_load_file("./price.xml");
foreach ($xml->offer as $offer) {
echo $offer->xpath('param[@name="Цвет"]')[0];
}
В таком случае мы получаем значение «Синий», что нам и необходимо, а остальные параметры - получаются по аналогии.