2012-09-28 44 views
1

所有的指南都告訴我如何從文本中刪除HTML標籤以提取它們之間的文本。我所追求的是提取HTML標籤內的數據。Java - 從字符串中提取html信息

例如

如果我有一個字符串:

"<FONT SIZE="5">Hello World</FONT>" 

我想獲得的字體大小信息更新其他變量。我如何去做這件事?

回答

2

我爲此使用了jsoup幾次。這是一個寬鬆的HTML解析器。當心試圖將其解析爲「標準」XML,因爲XML解析本質上是嚴格的,並且如果頁面不符合XML標記規範(很少有HTML頁面),將會失敗。

+0

你有沒有可能給出一個編碼的例子? –

+1

看[Cookbook](http://jsoup.org/cookbook/)下的jsoup主頁。很多例子。像[this](http://jsoup.org/cookbook/extracting-data/attributes-text-html) – pap

+0

正是我所需要的,歡呼聲 –

-1

看一看: http://en.wikipedia.org/wiki/Java_API_for_XML_Processing 如果你解析HTML,你應該能夠從DOM樹中提取值。

+0

-1非常糟糕的主意。很少有HTML頁面與XML足夠緊密,可以被XML解析器解析。 HTML!= XML。而且由於瀏覽器是寬鬆的,即使在XHTML中開發的頁面往往是「馬虎」。 – pap

1

您可以使用其中一個可用的Java庫進行HTML解析,如TagSoup

+0

或HtmlParser(http://htmlparser.sourceforge.net/)或HtmlUnit中使用的庫。 – Wizart

+0

或「jsoup」[鏈接](http://jsoup.org)[鏈接](http://jsoup.org/cookbook/extracting-data/dom-navigation) – user1606528

+0

有沒有任何機會可以給一個編碼例? –

0

您可以使用像jerichoHTML這樣的庫,使您可以搜索HTML標籤以及它們的屬性,或者您自己構建一些DOM。