野子電競數據官網改版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;java
/**app
*/
public class BasketballPlayerInfo {ide
public static void main(String[] args) { try { String content = getContent(); JAXBContext jaxbContext = JAXBContext.newInstance(PlayerList.class); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); PlayerList list = (PlayerList) unmarshaller.unmarshal(new ByteArrayInputStream(content.getBytes())); list.getPlayerList().forEach(System.out::println); } catch (Throwable t) { t.printStackTrace(); } } /** * 獲取API返回內容 * <p> * Note: 這裏爲了方便測試我使用了一份本地文件,使用時應替換爲真實接口返回內容 */ private static String getContent() { try { StringBuilder builder = new StringBuilder(); List<String> lines = Files.readAllLines(Paths.get("./src/main/resources/BasketballPlayerInfo.xml"), StandardCharsets.UTF_8); lines.forEach(builder::append); return builder.toString(); } catch (Throwable t) { t.printStackTrace(); return ""; } } @XmlRootElement(name = "list") public static class PlayerList{ @XmlElement(name = "i") private List<Player> playerList; public List<Player> getPlayerList() { return playerList; } } public static class Player { @XmlElement(name = "id") private String id; @XmlElement(name = "Number") private String number; @XmlElement(name = "Name_F") private String nameBig; @XmlElement(name = "Name_JS") private String nameGbShort; @XmlElement(name = "Name_J") private String nameGb; @XmlElement(name = "Name_E") private String nameEn; @XmlElement(name = "TeamID") private String teamId; @XmlElement(name = "Place") private String place; @XmlElement(name = "Birthday") private String birthday; @XmlElement(name = "Tallness") private String tallness; @XmlElement(name = "Weight") private String weight; @XmlElement(name = "Photo") private String photo; @XmlElement(name = "NbaAge") private String nbaAge; @XmlElement(name = "Salary") private String salary; @Override public String toString() { return "Player{" + "id='" + id + '\'' + ", number='" + number + '\'' + ", nameBig='" + nameBig + '\'' + ", nameGbShort='" + nameGbShort + '\'' + ", nameGb='" + nameGb + '\'' + ", nameEn='" + nameEn + '\'' + ", teamId='" + teamId + '\'' + ", place='" + place + '\'' + ", birthday='" + birthday + '\'' + ", tallness='" + tallness + '\'' + ", weight='" + weight + '\'' + ", photo='" + photo + '\'' + ", nbaAge='" + nbaAge + '\'' + ", salary='" + salary + '\'' + '}'; } }
}測試