我已閱讀了有關html解析的大量關於stackoverflow的問題。 我瞭解到,如果可能的話,我們應該避免使用正則表達式,而是使用解析器。 我知道有很多Html/Xml解析器,但我不知道如何正確使用它們。從Java中的HTML中提取信息(解析)的最簡單方法
考慮這個html,通過jTidy解析。可是我不得不對jTidy此代碼創建的文檔對象:現在
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<!-- Header content -->
</head>
<body>
<div id="container">
<div id="id1"> ... </div>
<div id="id2"> ... </div>
<div id="mainContent">
<div id="section 1">
<div id="subSection">
<!-- Interested part -->
<tbody>
<tr class="success">
<td class="fileName"><span>File One</span></td>
</tr>
<tr class="fail">
<td class="fileName"><span>File Two</span></td>
</tr>
<tr class="success">
<td class="fileName"><span>File Three</span></td>
</tr>
</tbody>
</div>
</div>
</div>
</div>
</body>
,我要地圖(在地圖:d)與同級車每個文件名(成功/失敗)。 我可以用DOM做,但我應該創建一個NodeList,併爲每個元素創建一個新的節點列表(大量的內存和無聊)。還有其他選擇,如薩克斯,Xerces等,但我不知道他們的優點/缺點。
從上面的「jTyded」html中提取這些信息的最簡單(最快)的方法是什麼?
使用XPath http://stackoverflow.com/questions/7049150/how -to-extract-data-using-jtidy-and-xpath – Greg 2012-02-26 18:13:19
我讀過XPath,但問題是我應該: 1)爲文件名創建模式 2)爲類01創建模式3)準類/文件名 這不是很簡單 – Angelo 2012-02-26 18:17:59
如何HtmlUnit:http://htmlunit.sourceforge.net/ – 2012-02-26 18:46:17