xpath爆炸整数和比较值

时间:2015-04-26 17:22:50

标签: php xml xpath

我需要创建一个xpath查询,查找反馈评分为98%+的书籍但亚马逊会返回估计反馈,因此不会返回字符串'98',而是返回'98-100%'

有一种简单的方法可以从'98-100%'字符串中提取第一个数字,以便我可以使用xpath进行比较吗?

以下是我正在使用的当前查询。

foreach($xml->xpath("//c:LowestOfferListing[./c:Qualifiers/c:SellerPositiveFeedbackRating = '98-100%']") as $listing) print_r($listing)

理想情况下,我想要一些如:

foreach($xml->xpath("//c:LowestOfferListing[./c:Qualifiers/c:SellerPositiveFeedbackRating > 98]") as $listing) print_r($listing);

1 个答案:

答案 0 :(得分:2)

假设反​​馈评级始终采用包含-作为分隔符的范围的形式,您可以尝试使用此xpath(为便于阅读而格式化):

//c:LowestOfferListing[
        ./c:Qualifiers
         /c:SellerPositiveFeedbackRating[
                substring-before(., '-') >= 98
        ]
]

供参考: