我有一個需求,我必須解析包含多個記分卡表的HTML頁面。表結構保持不變,但根據不同匹配的數據,不同的表可以包含不同的表,但列名相同。 現在我需要根據表中的列名和其中包含的數據與參數對進行搜索。例如如果我有一個名爲playername的列,並且多個表包含很多玩家的名字。如果我通過傳遞2個參數(playername(列名)和Jason)來搜索特定的玩家名稱,它應該獲取playername列中包含Jason作爲其數據的所有行。我可以傳遞另一對參數作爲AND - matchesplayed(列名)和15,它應該從上面的結果集中獲取所有行,Jason在其中進行了15次匹配。 你能幫助我怎麼做到這一點。我試過的邏輯是 - 獲取不同數組列表中所有列的數據。然後創建一個包含列名作爲關鍵字和其值作爲包含該列數據的不同數組列表的映射。我的方法是否正確或者我需要使用不同的方法來解決它。 感謝您的幫助。解析HTML並存儲在java集合中
0
A
回答
0
您可以使用Jsoup獲取HTML文檔,然後使用輸入的播放器名稱值編寫一個方法。此方法應通過HTML文檔中的<table>
元素進行解析,以獲取所需內容。如果您瞭解Jquery/css選擇器,解析將變得很容易。
檢查此鏈接Jsoup選擇器。 http://jsoup.org/apidocs/org/jsoup/select/Selector.html
+0
謝謝KRam。我正在使用Jsoup。但不知道如何映射列名和值來查找匹配的記錄,然後在頂部,如果我有另一個列名和值的參數對,我怎麼能從早期返回的結果集中選擇子集。 – user4067046
+0
您可以搜索
不要試圖用正則表達式/子字符串/ indexOf的解析html。使用http://www.jsoup.org –