野子电竞数据官网改版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: 6.队伍资料
- @Website: https://www.xxe.io/
*/
public class FootballTeamInfo {
public static void main(String[] args) {
try {
String content = getContent();
JAXBContext jaxbContext = JAXBContext.newInstance(TeamList.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
TeamList teamList = (TeamList) unmarshaller.unmarshal(new ByteArrayInputStream(content.getBytes()));
teamList.getTeamList().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/FootballTeamInfo.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 TeamList{
@XmlElement(name = "i")
private List<Team> teamList;
public List<Team> getTeamList() {
return teamList;
}
}
@XmlRootElement
public static class Team{
@XmlElement(name = "id")
private String teamId;
@XmlElement(name = "lsID")
private String leagueId;
@XmlElement(name = "g")
private String gbName;
@XmlElement(name = "b")
private String bigName;
@XmlElement(name = "e")
private String enName;
@XmlElement(name = "Found")
private String foundDate;
@XmlElement(name = "Area")
private String area;
@XmlElement(name = "gym")
private String gym;
@XmlElement(name = "Capacity")
private String gymCapacity;
@XmlElement(name = "Flag")
private String teamFlag;
@XmlElement(name = "addr")
private String address;
@XmlElement(name = "URL")
private String website;
@XmlElement(name = "master")
private String master;
@Override
public String toString() {
return "Team{" +
"teamId='" + teamId + '\'' +
", leagueId='" + leagueId + '\'' +
", gbName='" + gbName + '\'' +
", bigName='" + bigName + '\'' +
", enName='" + enName + '\'' +
", foundDate='" + foundDate + '\'' +
", area='" + area + '\'' +
", gym='" + gym + '\'' +
", gymCapacity='" + gymCapacity + '\'' +
", teamFlag='" + teamFlag + '\'' +
", address='" + address + '\'' +
", website='" + website + '\'' +
", master='" + master + '\'' +
'}';
}
public String getTeamId() {
return teamId;
}
public String getLeagueId() {
return leagueId;
}
public String getGbName() {
return gbName;
}
public String getBigName() {
return bigName;
}
public String getEnName() {
return enName;
}
public String getFoundDate() {
return foundDate;
}
public String getArea() {
return area;
}
public String getGym() {
return gym;
}
public String getGymCapacity() {
return gymCapacity;
}
public String getTeamFlag() {
return teamFlag;
}
public String getAddress() {
return address;
}
public String getWebsite() {
return website;
}
public String getMaster() {
return master;
}
}
}