2012-01-31 98 views
4

我需要用一個簡單的表單解析一個簡單的HTML頁面。對StackOverflow類似問題的答案建議使用各種非標準Java庫之一,如TagSoup,JSoup,HTMLParser等等。是否有標準的Java SE HTML解析器?如果是這樣,爲什麼使用非標準的?

然而,在網上搜索發現,有通過這個類存在於Java SE的一些標準功能:http://docs.oracle.com/javase/7/docs/api/javax/swing/text/html/parser/ParserDelegator.html

我的子問題是:

  1. 難道真的是標準的ParserDelegator類可以解析像我這樣的用例?
  2. 標準庫的侷限性是如何創建這麼多非標準庫的需求?
  3. ParserDelegator在擺動範圍內的事實是否排除在Web應用程序的常規EC2雲服務器中使用它?我是否需要跳過很多環節才能解決無頭的問題,或者只是對組態進行一些小調整? (a)我希望不偏離標準;(b)我希望不偏離標準;(c)我希望不偏離標準;(c)我希望不偏離標準; (b)我的簡單用例; (c)渴望成熟可靠的實施;和(d)沒有尺寸或重量的限制,因爲這是一個服務器應用程序,而不是嵌入式客戶端。 API是一個低得多的優先級,所以雖然我非常欣賞JSoup的CSS選擇器,但API(a)到(d)的其他關注點覆蓋了它。

謝謝。

+1

接近選民(或多個),請點什麼,這是一個重複的(如果這是你的理由接近的選票) – necromancer 2012-01-31 07:23:04

回答

2

JDK內置HTML解析器,支持HTML 1.0左右。它應該支持解析基本文本格式標籤和表單。

使用其他第三方解析器的原因是要求支持「真正的」 HTML頁面DHTML,JavaScript的等

JSoup是流行的解析器可以做的工作之一。有關其他實現的更多信息,請採取下面的討論一看:

Pure Java HTML viewer/renderer for use in a Scrollable pane

+1

謝謝 - 我會重申它有內置的解析器不能處理任何東西,但古老的HTML版本。該鏈接沒有幫助。這是關於觀衆/渲染者,而我需要一個解析器。 – necromancer 2012-01-31 10:08:50

相關問題