У меня есть эти данные, и я ищу самую низкую ставку.
<root>
<current_bid>$1.00</current_bid>
<current_bid>$2.00</current_bid>
<current_bid>$3.00</current_bid>
<current_bid>$4.00</current_bid>
<current_bid>$5.00</current_bid>
</root>
Это моя попытка XPath 1.0:
//current_bid[not(translate (., '$,.','') > translate(//current_bid, '$,.',''))]
И он работает нормально (возвращает только ставку в 1 доллар) с данными выше, но если я изменю порядок данных, скажем так:
<root>
<current_bid>$5.00</current_bid>
<current_bid>$1.00</current_bid>
<current_bid>$2.00</current_bid>
<current_bid>$3.00</current_bid>
<current_bid>$4.00</current_bid>
</root>
Тогда это дает неправильный вывод (возвращает все значения).
Разве порядок не должен быть неактуальным, когда я использую // current_bid, так как он запрашивает весь документ?
Кроме того: как бы я поступил, если бы хотел получить вторую самую низкую ставку?