【发布时间】:2012-11-27 07:48:52
【问题描述】:
Ruby 中是否有任何 HTML 解析器可以将 HTML 文档读入 DOM 树并将 HTML 标签表示为 DOM 元素?
我知道 Nokogiri,但它不会将 HTML 解析为 DOM 树。
【问题讨论】:
-
Nokogiri 的默认设置在我看来非常像 DOM 树,你为什么说它不是?
标签: html ruby dom html-parsing nokogiri
Ruby 中是否有任何 HTML 解析器可以将 HTML 文档读入 DOM 树并将 HTML 标签表示为 DOM 元素?
我知道 Nokogiri,但它不会将 HTML 解析为 DOM 树。
【问题讨论】:
标签: html ruby dom html-parsing nokogiri
尽管你这么说,Nokogiri 是要走的路:
doc = Nokogiri::HTML('<body><p>Hello, worlds!</body>')
它甚至会解析无效的 HTML 并返回一个 DOM 树:
>> doc.class
=> Nokogiri::HTML::Document
>> doc.root.class
=> Nokogiri::XML::Element
>> doc.root.children.class
=> Nokogiri::XML::NodeSet
>> doc.root.children.first.content
=> "Hello, worlds!"
【讨论】:
gem install nokogiri(如果还没有)(随rails分发),并在你的代码中require 'nokogiri'。