【发布时间】:2015-12-16 20:04:53
【问题描述】:
我是 XPath 的新手,如果这对你来说是一个愚蠢的问题,我很抱歉。 我只需要从第一个跨度 class="price"
中提取没有“$”的价格<span class="price">
<span class="sup">$</span>
1
<span class="currency-delimiter">.</span>
<span class="sup">23</span>
</span>
<span class="price">
<span class="sup">$</span>
4
<span class="currency-delimiter">.</span>
<span class="sup">56</span>
</span>
<span class="price">
<span class="sup">$</span>
7
<span class="currency-delimiter">.</span>
<span class="sup">89</span>
</span>
我自带的Xpath是
//span[@class='price'])[1]
但它给了我一个包含每个元素的数组 [$][1][.][23] 我只需要没有“$”的 1.23。你可以帮帮我吗? 谢谢!
【问题讨论】:
-
你有没有尝试过?也许喜欢使用谷歌?
-
不!什么是谷歌?!
-
您的示例中的 1、4 和 7 是什么?它们在 xml 标签之外。这也是完整的xml吗?它没有根元素。
-
你可以试试
substring-after(//span[@class='price'], '$'),但它会在数字之间包含空格,因为原始文档中有空格 -
erik, 1, 4, 7 - 这些是价格的美元金额。此示例中有 3 个价格,分别为 1.23 美元、4.56 美元和 7.89 美元。所以我只需要没有“$”的第一个。我没有把根放在我提到的 "//span[@class='price'])[1]" 工作正常,但它给出了数组。