我需要创建一个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);
答案 0 :(得分:2)
假设反馈评级始终采用包含-
作为分隔符的范围的形式,您可以尝试使用此xpath(为便于阅读而格式化):
//c:LowestOfferListing[
./c:Qualifiers
/c:SellerPositiveFeedbackRating[
substring-before(., '-') >= 98
]
]
供参考: