gpt4 book ai didi

html - Nokogiri write_html_to 奇怪?

转载 作者:太空宇宙 更新时间:2023-11-03 18:17:20 24 4
gpt4 key购买 nike

我想使用 Nokogiri 来解析 HTML 片段,对其进行处理,然后将有效的 HTML 写入文件。

这看起来很简单,但我很困惑为什么 Nokogiri 的 doc.write_html_to 方法将我的片段包装在空元素标记括号中。

# Try this in IRB
doc = Nokogiri::HTML.fragment('<h1 id="foo">Hello</h1>')

# Option #1 - Wrapped in Empty Tag
doc.write_html_to(File.new('write_html_to.html', 'w'), :encoding => 'UTF-8')
# => <><h1 id="foo">Hello</h1></>

# Option #2 - Works as needed
File.open('doc_to_html.html', 'w'){|f| f.write(doc.to_html(:encoding => 'UTF-8'))}
# => <h1 id="foo">Hello</h1>

知道为什么选项 #1 将 HTML 片段文件包装在一个空标签中吗?

最佳答案

在编写 Nokogiri::HTML::DocumentFragment 时,这似乎是 Node#write_html_to 实现中的错误。我发现 write_xhtml_to 工作正常:

doc.write_xhtml_to(File.new('write_xhtml_to.html', 'w'), :encoding => 'UTF-8')

# => <h1 id="foo">Hello</h1>

关于html - Nokogiri write_html_to 奇怪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24086304/

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