2011-04-14 91 views
4

如何解析出doctype标签以从html文件中获取html版本?解析出Nokogiri中的html doctype标签

尝试使用doctype(或DOCTYPE或!DOCTYPE)作为xpath中的参数会引发一个无效表达式错误。

+0

部分你需要证明你的代码来回答这个问题的一个例子。我们无法猜测您可能错过了什么。 – 2011-05-04 03:21:15

回答

5

的DOCTYPE是不是文档的一部分,但它的DTD

require 'rubygems' 
require 'nokogiri' 

html = <<EOF 
<!DOCTYPE foo PUBLIC "bar" "qux"> 
<html> 
</html> 
EOF 

doc = Nokogiri::HTML(html) 

puts doc.internal_subset.name 
puts doc.internal_subset.external_id 
puts doc.internal_subset.system_id 
+0

'puts doc.internal_subset.to_s#=>'<!DOCTYPE foo PUBLIC“bar”“qux”>“' – spyle 2015-08-11 18:29:38