2011-04-14 140 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