簡體   English   中英

解析中 <table> 來自html的代碼,然后在webview中顯示

[英]Parsing <table> tag from html, then display in webview

我需要從網站上拿一張桌子並將其放入應用程序中。 我的方法是:連接到站點,將html放入字符串中,將表數據放入webview中。 我已經成功連接到網站,將HTML放入名為myString的變量中,甚至已經將myString加載到Web視圖中作為測試。

我的問題是什么是僅將<table>此處所有內容加載</table>的最佳方法。 換句話說,我只想要表數據。 我已經嘗試過xpath,但似乎無法使其正常工作。 另外,展望下一步,我最終將不得不更改表格的填充和空白,以使其在正確的設備上看起來更好?

如果我對您的理解正確,則可能會滿足以下目的:

int start = myString.indexOf("<table");
if( start < 0 )
    Log.d(this.toString(), "Table start tag not found");
else {
    int end = myString.indexOf("</table>", start) + 8;
    if( end < 0 )
        Log.d(this.toString(), "Table end tag not found");
    else
        myString = "<html><body>" + myString.substring(start, end) + "</body></html>";
}

然后將myString加載到您的WebView中,它應該只包含原始網頁中的第一個表。


編輯:上面的示例區分大小寫,即找不到大寫的<TABLE>標記。 盡管它可能不是最有效的方法,但使其不區分大小寫的一種方法是在搜索之前將字符串轉換為小寫,例如:

int start = myString.toLowerCase().indexOf("<table");
...
int end = myString.toLowerCase().indexOf("</table>", start) + 8;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM