我有以下html:
<code>The first code block</code>
<p>Some text and <code>the second code block</code> followed by other text</p>
我需要从中找到并删除所有code
个块。我使用以下XPath '//code'
,但它仅找到第一个代码块,而第二个保留。
问题:为什么'//code'
无法捕获第二个代码块?如何解决?
详细信息::我正在使用Nokagiry
在Ruby中进行操作。我的代码如下:
html = Nokogiri::HTML(File.read(htmlFile))
html.search('//code').remove
更新:
XPath实际上起作用了。我只是在另一个地方犯了一个错误。
答案 0 :(得分:1)
好像您忘记了迭代器...
试试:
html = Nokogiri::HTML(File.read(htmlFile))
html.search('//code').each{|htm| htm.remove}