我想分析一個網頁的DOCTYPE
與Jsoup發現HTML的版本(HTML 5,HTML 4,XHTML等)。是否可以使用Jsoup解析DOCTYPE來發現HTML版本?
可以解析DOCTYPE
與Jsoup處理呢?如果不是,那麼有一種方法可以實現發現頁面HTML版本的主要目標?
我想分析一個網頁的DOCTYPE
與Jsoup發現HTML的版本(HTML 5,HTML 4,XHTML等)。是否可以使用Jsoup解析DOCTYPE來發現HTML版本?
可以解析DOCTYPE
與Jsoup處理呢?如果不是,那麼有一種方法可以實現發現頁面HTML版本的主要目標?
Jsoup
有此目的DocumentType
類:
List<Node>nods = doc.childNodes();
for (Node node : nods) {
if (node instanceof DocumentType) {
DocumentType documentType = (DocumentType)node;
System.out.println(documentType.toString());
System.out.println(DocumentType.attr("publicid"));
}
}
你能夠檢測到版本,即HTML5或HTML4.0或其他? 我得到'<!DOCTYPE html PUBLIC \「 - // W3C // DTD HTML 4.01 Transitional // EN \」\「http://www.w3.org/TR/html4/loose.dtd \」>對於html5,請使用html4.01 和'<!doctype html>'。 所以問題是我需要匹配這個字符串,並說它是html5 ot html4.01? – virsha 2017-03-18 14:04:30
我沒有這樣說: '私人字符串getHtmlVersion(文檔文件){ \t \t列表
什麼是你的用例?使用Doctype的大多數網站不符合相關規範是否重要? – Quentin 2012-04-11 14:07:32
@Quentin不,沒關係。唯一重要的是僅使用HTML 5的頁面。其他情況僅用於DOCTYPE中聲明的內容。 – 2012-04-11 14:09:10
如果它們符合要求並不重要,如果它們使用HTML 5 Doctype,爲什麼它很重要?如果你只關心使用HTML 5 Doctype的話,爲什麼不用字符串匹配呢? – Quentin 2012-04-11 14:10:25