如何获取足球赛程结果数据

39次阅读

共计 3959 个字符,预计需要花费 10 分钟才能阅读完成。

野子电竞数据官网改版 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;}
}

}

正文完
 0