@lasthero67

Как лучше использовать xpath?

Создаю объект
$xml = new SimpleXMLElement($response);
В этом объекте есть группа "book".
Мне нужно вывести 3 цены в разной валюте для книги. Как это лучше сделать с помощью xpath?
Взять $xml и выделить группу "book"
$book = $xml->book;
и затем уже из этой группы выводить цены через xpath
$price_rur = $book->xpath("prices")[0];
$price_usd = $book->xpath("prices")[1];
$price_eur = $book->xpath("prices")[2];


Или можно сразу из исходного объекта $xml это делать?
$price_rur = $xml->xpath("prices")[0];
$price_usd = $xml->xpath("prices")[1];
$price_eur = $xml->xpath("prices")[2];


Будет ли разница в производительности и потребляемой памяти?
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
iResource
@iResource
Разработчик IR XML2Ozon
(с учётом кода из комментария)
Если через SimpleXML, попробуйте так:

$node = $xml->xpath('market[@model="MTCH_R"]')[0];
$coeff_1 = $node->xpath('sel[@uid="Match_Result.1"]')[0]['coeff'];
$coeff_2 = $node->xpath('sel[@uid="Match_Result.draw"]')[0]['coeff'];
$coeff_3 = ...;

Думаю, по ресурсам это оптимально.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы