野子电竞数据官网改版https://www.xxe.io/全新登场
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.ByteArrayInputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
/**
- @API: 4.赛程结果
- @Website: https://www.xxe.io/
*/
public class FootballResult {
public static void main(String[] args) {
try {
String content = getContent();
JAXBContext jaxbContext = JAXBContext.newInstance(MatchList.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
MatchList matchList = (MatchList) unmarshaller.unmarshal(new ByteArrayInputStream(content.getBytes()));
matchList.getMatchList().forEach(item -> System.out.println(item));
} catch (Throwable t) {
t.printStackTrace();
}
}
/**
* 获取API返回内容
*
* Note: 这里为了方便测试我使用了一份本地文件,使用时应替换为真实接口返回内容
*/
private static String getContent() {
try {
StringBuilder builder = new StringBuilder();
List<String> lines = Files.readAllLines(Paths.get("./src/main/resources/FootballResult.xml"), StandardCharsets.UTF_8);
lines.forEach(line -> builder.append(line));
return builder.toString();
} catch (Throwable t) {
t.printStackTrace();
return "";
}
}
@XmlRootElement(name = "list")
public static class MatchList {
private List<Match> matchList;
@XmlElement(name = "match")
public List<Match> getMatchList() {
return matchList;
}
public void setMatchList(List<Match> matchList) {
this.matchList = matchList;
}
}
@XmlRootElement
public static class Match{
@XmlElement(name = "a")
private int matchId;
@XmlElement(name = "c")
private String leagueInfo;
@XmlElement(name = "d")
private String matchTime;
@XmlElement(name = "e")
private int subType;
@XmlElement(name = "f")
private int matchStatus;
@XmlElement(name = "h")
private String homeTeamInfo;
@XmlElement(name = "i")
private String awayTeamInfo;
@XmlElement(name = "j")
private int homeScore;
@XmlElement(name = "k")
private int awayScore;
@XmlElement(name = "l")
private int homeScoreFirstHalf;
@XmlElement(name = "m")
private int awayScroeFirstHalf;
@XmlElement(name = "n")
private int homeRed;
@XmlElement(name = "o")
private int awayRed;
@XmlElement(name = "p")
private int homeRank;
@XmlElement(name = "q")
private int awayRank;
@XmlElement(name = "s")
private String round;
@XmlElement(name = "t")
private String address;
@XmlElement(name = "x")
private String season;
@XmlElement(name = "y")
private String group;
@XmlElement(name = "z")
private String isNeutral;
@XmlElement(name = "subID")
private String subLeagueId;
@XmlElement(name = "yellow")
private int yellow;
@Override
public String toString() {
return "Match{" +
"matchId=" + matchId +
", leagueInfo='" + leagueInfo + '\'' +
", matchTime='" + matchTime + '\'' +
", subType=" + subType +
", matchStatus=" + matchStatus +
", homeTeamInfo='" + homeTeamInfo + '\'' +
", awayTeamInfo='" + awayTeamInfo + '\'' +
", homeScore=" + homeScore +
", awayScore=" + awayScore +
", homeScoreFirstHalf=" + homeScoreFirstHalf +
", awayScroeFirstHalf=" + awayScroeFirstHalf +
", homeRed=" + homeRed +
", awayRed=" + awayRed +
", homeRank=" + homeRank +
", awayRank=" + awayRank +
", round='" + round + '\'' +
", address='" + address + '\'' +
", season='" + season + '\'' +
", group='" + group + '\'' +
", isNeutral='" + isNeutral + '\'' +
", subLeagueId='" + subLeagueId + '\'' +
", yellow=" + yellow +
'}';
}
public int getMatchId() {
return matchId;
}
public String getLeagueInfo() {
return leagueInfo;
}
public String getMatchTime() {
return matchTime;
}
public int getSubType() {
return subType;
}
public int getMatchStatus() {
return matchStatus;
}
public String getHomeTeamInfo() {
return homeTeamInfo;
}
public String getAwayTeamInfo() {
return awayTeamInfo;
}
public int getHomeScore() {
return homeScore;
}
public int getAwayScore() {
return awayScore;
}
public int getHomeScoreFirstHalf() {
return homeScoreFirstHalf;
}
public int getAwayScroeFirstHalf() {
return awayScroeFirstHalf;
}
public int getHomeRed() {
return homeRed;
}
public int getAwayRed() {
return awayRed;
}
public int getHomeRank() {
return homeRank;
}
public int getAwayRank() {
return awayRank;
}
public String getRound() {
return round;
}
public String getAddress() {
return address;
}
public String getSeason() {
return season;
}
public String getGroup() {
return group;
}
public String getIsNeutral() {
return isNeutral;
}
public String getSubLeagueId() {
return subLeagueId;
}
public int getYellow() {
return yellow;
}
}
}