gpt4 book ai didi

ruby - 如何获取节点的原始 HTML

转载 作者:数据小太阳 更新时间:2023-10-29 06:30:57 24 4
gpt4 key购买 nike

我正在使用 Nokogiri 来分析一些 HTML,但是,我不知道如何在节点中获取原始 HTML。

例如,给定:

<tr class="tableX">
<td align="center">
<font size="2"><a href="javascript:open('9746')">9746</a></font>
</td>
<td align="center">
<font size="2">2012-06-26</font>
</td>
</tr>

当我使用这个 XPath 选择器时:

doc = Nokogiri::HTML(html)

nodes = doc.search("//tr[@class='tablebX']")

nodes.each do |node|
node.text # or node.content
end

node.textnode.content 的结果是:

9746
2012-06-26

我想获取 tr block 中的所有原始 HTML,在这种情况下,它是:

<td align="center">
<font size="2"><a href="javascript:open('9746')">9746</a></font>
</td>
<td align="center">
<font size="2">2012-06-26</font>
</td>

正确的做法是什么?

最佳答案

使用node.to_s,或者只是node:

nodes = doc.search("//tr[@class='tablebX']")
nodes.each do |node|
puts node.to_s
puts '-'*40
end

使用额外的健全性检查 HTML(你的,加倍,中间有一个不同类的 tr)我得到:

<tr class="tableX">
<td align="center">
<font size="2"><a href="javascript:open('9746')">9746</a></font>
</td>
<td align="center"><font size="2">2012-06-26</font></td>
</tr>
----------------------------------------
<tr class="tableX">
<td align="center">
<font size="2"><a href="javascript:open('9746')">9746</a></font>
</td>
<td align="center"><font size="2">2012-06-26</font></td>
</tr>
----------------------------------------

关于ruby - 如何获取节点的原始 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11165496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com