使用xpath、ruby获取值
我需要从下面的代码中获取值9,70,但无法这样做。数字的逗号是数字的一部分,而不是分隔符,因此一个字符串中需要整数使用xpath、ruby获取值,xpath,jruby,Xpath,Jruby,我需要从下面的代码中获取值9,70,但无法这样做。数字的逗号是数字的一部分,而不是分隔符,因此一个字符串中需要整数id=“cheapest wine”是唯一的,但它会不断返回错误 <tr class="chartTableHeader"> <tr class="chartTableRow"> <td class="chartTableColFirst" style="height: 19px"> <td class="chartTableCol"
id=“cheapest wine”
是唯一的,但它会不断返回错误
<tr class="chartTableHeader">
<tr class="chartTableRow">
<td class="chartTableColFirst" style="height: 19px">
<td class="chartTableCol" style="height: 19px">
<td class="chartTableCol" style="height: 19px">
<span id="cheapest wine">9,70</span>
</td>
<td class="chartTableCol" style="height: 19px">
<td class="chartTableCol" style="height: 19px">
<td class="chartTableCol" style="height: 19px">
9,70
使用Nokogiri,并假设您的html格式正确,您可以获得如下值:
require 'nokogiri'
xml = <<-EOF
<root>
<span id="cheapest wine">9,70</span>
</root>
EOF
doc = Nokogiri::XML(xml)
doc.xpath('//span[@id="cheapest wine"]').map do |add|
puts add.inner_text
end
需要“nokogiri”
xml=使用Nokogiri,并假设html格式正确,可以得到如下值:
require 'nokogiri'
xml = <<-EOF
<root>
<span id="cheapest wine">9,70</span>
</root>
EOF
doc = Nokogiri::XML(xml)
doc.xpath('//span[@id="cheapest wine"]').map do |add|
puts add.inner_text
end
需要“nokogiri”
xml=使用以下XPath表达式:
number(
translate(tr[@class='chartTableRow']/td/span[@id='cheapest wine'],
',',
'.'
)
)
其中,计算XPath表达式的当前节点是问题中显示的XML片段的父节点
上述XPath表达式的计算结果为9.7
使用以下XPath表达式:
number(
translate(tr[@class='chartTableRow']/td/span[@id='cheapest wine'],
',',
'.'
)
)
其中,计算XPath表达式的当前节点是问题中显示的XML片段的父节点
上述XPath表达式的计算结果为9.7
您的代码未显示,请修复问题。您的代码未显示,请修复问题。//span[@id='cheapest wine']
就足够了。然后使用正确的DOM方法获取字符串值:在混合内容数据模型中选择文本节点这不是最好的主意。。。或者只要获取字符串值原子类型(//span[@id='cheapest wine'])
就可以了,如果您的XPath引擎支持这种通用的XPath表达式。@Alejandro:非常感谢这些精确性,我已经根据您的建议修改了我的答案。希望现在可以了?//span[@id='cheapest wine']
就足够了。然后使用正确的DOM方法获取字符串值:在混合内容数据模型中选择文本节点这不是最好的主意。。。或者只要获取字符串值原子类型(//span[@id='cheapest wine'])
就可以了,如果您的XPath引擎支持这种通用的XPath表达式。@Alejandro:非常感谢这些精确性,我已经根据您的建议修改了我的答案。希望现在一切都好了?