我正在阅读带有 Nokogiri 的本地 HTML 文档,如下所示:
f = File.open(local_xml)
@doc = Nokogiri::XML(f)
f.close
@doc
包含一个 Nokogiri XML 对象,我可以使用at_css
.
我想使用 Nokogiri 的XML::Node对其进行修改,但我完全被卡住了。如何获取这个 Nokogiri XML 文档并使用节点方法处理它?
例如:
@doc.at_css('rates tr').add_next_sibling(element)
返回:
undefined method `add_next_sibling' for nil:NilClass (NoMethodError)
尽管事实@doc.class
是Nokogiri::XML::Document
。
为了完整起见,这是我要编辑的标记。
<html>
<head>
<title>Exchange Rates</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<table class="rates">
<tr>
<td class="up"><div></div></td>
<td class="date">Saturday, Jan 12</td>
<td class="rate up">3.83</td>
</tr>
<tr>
<td class="up"><div></div></td>
<td class="date">Friday, Jan 11</td>
<td class="rate up">3.70</td>
</tr>
<tr>
<td class="down"><div></div></td>
<td class="date">Thursday, Jan 10</td>
<td class="rate down">3.68</td>
</tr>
<tr>
<td class="down"><div></div></td>
<td class="date">Wedensday, Jan 9</td>
<td class="rate down">3.70</td>
</tr>
<tr>
<td class="up"><div></div></td>
<td class="date">Tuesday, Jan 8</td>
<td class="rate up">3.66</td>
</tr>
</table>
</body>
</html>