0
我正在嘗試編寫一個Ruby腳本來讀取本地HTML文件,並在某個#divid後插入更多的HTML(基本上是一個字符串)。在本地HTML文件中插入元素
我有點小菜,所以請不要猶豫,在這裏放一些代碼。
感謝
我正在嘗試編寫一個Ruby腳本來讀取本地HTML文件,並在某個#divid後插入更多的HTML(基本上是一個字符串)。在本地HTML文件中插入元素
我有點小菜,所以請不要猶豫,在這裏放一些代碼。
感謝
我是按照能夠這樣...
doc = Nokogiri::HTML(open('file.html'))
data = "<div>something</div>"
doc.children.css("#divid").first.add_next_sibling(data)
再(在)寫有相同的數據文件...
File.open("file.html", 'w') {|f| f.write(doc.to_html) }
這是一個更正確的方法來做到這一點:
html = '<html><body><div id="certaindivid">blah</div></body></html>'
doc = Nokogiri::HTML(html)
doc.at_css('div#certaindivid').add_next_sibling('<div>junk goes here</div>')
print doc.to_html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body>
<div id="certaindivid">blah</div>
<div>junk goes here</div>
</body></html>
請注意使用.at_css()
,它會查找目標節點的第一個匹配項並將其返回,從而避免獲取節點集,並免除您需要抓取.first()
節點的需要。