我一直在移植我的Android應用程序。我的代碼完好無損,但由於某種原因,JSoup似乎收到了錯誤的數據。我從工作的PC應用程序直接複製和粘貼,工作得很好。以下是一段代碼,我使用的PC和Android的JSoup在Android上的行爲與在PC上的行爲不同?
String AllGamesURL = "http://www.nfl.com/standings?category=league&season=" + Stringyear + "-REG";
String HomeGamesURL = "http://www.nfl.com/standings?category=league&season=" + Stringyear + "-REG&split=Home";
String AwayGamesURL = "http://www.nfl.com/standings?category=league&season=" + Stringyear + "-REG&split=Road";
String DivisionGamesURL = "http://www.nfl.com/standings?category=league&season=" + Stringyear + "-REG&split=Division";
Document AllGames = Jsoup.connect(AllGamesURL).get();
Document HomeGames = Jsoup.connect(HomeGamesURL).get();
Document AwayGames = Jsoup.connect(AwayGamesURL).get();
Document DivisionGames = Jsoup.connect(DivisionGamesURL).get();
Elements AllGamesTeams = AllGames.select("table.data-table1 tr.tbdy1");
Elements HomeGamesTeams = HomeGames.select("table.data-table1 tr.tbdy1");
Elements AwayGamesTeams = AwayGames.select("table.data-table1 tr.tbdy1");
Elements DivisionGamesTeams = DivisionGames.select("table.data-table1 tr.tbdy1");
for (Element teamName : AllGamesTeams) {
if(teamName.select("td[align] > a[href]").text().trim().equals("")) {
team = teamName.select("td[align]").text().trim();
} else {
team = teamName.select("td[align] > a[href]").text().trim();
}
if(team.equals(currentSelectedTeam)) {
//Division = teamName.select("td:eq(2)").text().trim();
wins = Integer.parseInt(teamName.select("td:eq(3)").text().trim());
losses = Integer.parseInt(teamName.select("td:eq(4)").text().trim());
ties = Integer.parseInt(teamName.select("td:eq(5)").text().trim());
gamesPlayed = wins + losses + ties;
pointsFor = Integer.parseInt(teamName.select("td:eq(7)").text().trim());
pointsAgainst = Integer.parseInt(teamName.select("td:eq(8)").text().trim());
break;
}
}
在PC版本,它得到了勝,負,等得很好,但在Android上,這是得到錯誤的數據。有任何想法嗎?
什麼是「錯」的呢? – chrylis
JSoup在PC版上獲取正確的數據,但在Android版本上獲取了錯誤的數據,即使讀取該網站的代碼是從PC版直接複製並粘貼的。 – user2581556
你只是重申你的文章,並沒有回答我的問題。 – chrylis