У меня проблема с получением определенного имени из xml-файла с использованием xpath. Вот XML код:Xpath-запрос для xml-файла
<Zones>
<Zone ID="AFI" Quantity="67" Length="140" Open="0">
<Name LngID="IT">Name 1</Name>
<Name LngID="EN">Name 2</Name>
<Name LngID="DE">Name 3</Name>
</Zone>
<Zone ID="SLE" Quantity="1" Length="2" Open="0">
<Name LngID="IT">Name 4</Name>
<Name LngID="EN">Name 5</Name>
<Name LngID="DE">Name 6</Name>
</Zone>
</Zones>
А вот мой PHP код:
foreach($area->Zones->Zone as $zone) {
$ZONE_ID = $zone['ID'];
$zone_lang = $zone->xpath("/Name[@LngID='EN']");
$ZONE_NAME = var_dum($zone_lang);
echo $ZONE_ID;
echo " - ";
echo $ZONE_NAME;
}
мне нужно только EN
имя Name
элемента (Name LngID = "EN" -> Имя 2 и Name 5), но этот код не работал (я получаю значение Array).
Любое предложение? Спасибо, совет!
'var_dum ($ zone_lang);' & проверить, что вы получаете там причина XPath возвращает массив. поэтому вам нужно '$ zone_lang [0]'. – Rikesh
Да, 'xpath' возвращает массив (даже если есть только один элемент). 'xpath (...) [0]' относится к первому совпадающему элементу. – Passerby
Я получаю пустую страницу – Adrian