我正在尝试将 xml 文件读取到 java 对象,但它返回的 null
下面是我的代码:
我的xml:
<?xml version="1.0" encoding="UTF-8"?>
<Cricket>
<Batting>
<BattingData>
<Name>playerBat1</Name>
<Score>50</Score>
<Balls>30</Balls>
</BattingData>
<BattingData>
<Name>playerBat2</Name>
<Score>50</Score>
<Balls>30</Balls>
</BattingData>
</Batting>
<Bowling>
<BowlingData>
<Name>playerBowl1</Name>
<Wickets>2</Wickets>
<Balls>24</Balls>
<Overs>4</Overs>
</BowlingData>
<BowlingData>
<Name>playerBowl2</Name>
<Wickets>2</Wickets>
<Balls>24</Balls>
<Overs>4</Overs>
</BowlingData>
</Bowling>
<Overs>20</Overs>
<BattingTeam>Team A</BattingTeam>
<BowlingTeam>Team B</BowlingTeam>
</Cricket>
班级
package cricket.domain;
public class Cricket {
private Batting Batting;
private Bowling Bowling;
private Integer Overs;
private String BattingTeam;
private String BowlingTeam;
public Batting getBatting() {
return Batting;
}
public void setBatting(Batting batting) {
Batting = batting;
}
public Bowling getBowling() {
return Bowling;
}
public void setBowling(Bowling bowling) {
Bowling = bowling;
}
public Integer getOvers() {
return Overs;
}
public void setOvers(Integer overs) {
Overs = overs;
}
public String getBattingTeam() {
return BattingTeam;
}
public void setBattingTeam(String battingTeam) {
BattingTeam = battingTeam;
}
public String getBowlingTeam() {
return BowlingTeam;
}
public void setBowlingTeam(String bowlingTeam) {
BowlingTeam = bowlingTeam;
}
}
解组
try {
JAXBContext context = JAXBContext.newInstance(Cricket.class);
Unmarshaller m = context.createUnmarshaller();
InputStream inputStream = null;
try {
inputStream = new FileInputStream(
"D://Documents//testXml//cricket.xml");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Source source = new StreamSource(inputStream);
JAXBElement<Cricket> cri = m.unmarshal(source, Cricket.class);
Cricket cricket = cri.getValue();
System.out.println("object : " + cricket.getBattingTeam().toString());
} catch (JAXBException e) {
e.printStackTrace();
}
当我在没有注释的情况下阅读它时,它返回了我的空对象。我想知道我的 xml 格式是否正确或我的代码有问题。