PHP XML Xpath получить цену ниже, чем не работает
<Product>
<Price>
<SalePrice>
14,95
</SalePrice>
</Price>
</Product>
<Product>
<Price>
<SalePrice>
16,95
</SalePrice>
</Price>
</Product>
$response->xpath('Product/Price/[SalePrice <= "16,95"]/parent::*
Здравствуйте, я хочу, чтобы каждая цена продажи равнялась или ниже 16,95, как в моем примере. Но каждый раз, когда я пытаюсь, это дает пустой массив. Если я только использую:
$response->xpath('Product/Price/[SalePrice = "16,95"]/parent::*
Я получил результат. Я надеюсь, что вы можете помочь мне с этой проблемой. Спасибо
1 ответ
Решение
- переведите запятую в точку, чтобы получить правильное число с плавающей точкой
- преобразовать строку в число
сравнить результат с числом с плавающей точкой, но не с строкой
//Product/Price/SalePrice[number(translate(.,',','.'))<= 16.95]/parent::*