如何创建
XML
文件
没有外部库
在Java 9中?
目前我正在使用
javax.xml.bind.JAXBContext
和
javax.xml.bind.Marshaller
类,但在Java 9上,这些类已经不存在了。因此,在使用Java 9时,我遇到了一个例外:
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext
。
我可以创建
XML
文件具有较低的Java版本,但我需要它将兼容Java 9。
我现在创建XML文件的方式是:
1、创建XML元素类
@XmlRootElement
public class Places {
private List<Athlete> athletes;
public List<Athlete> getAthletes() {
return athletes;
}
@XmlElement
public void setAthletes(List<Athlete> athletes) {
this.athletes = athletes;
}
}
2、创建XML文件
List<Athlete> athletes = new ArrayList<>();
Places places = new Places();
places.setAthletes(athletes);
JAXBContext context = JAXBContext.newInstance(Places.class);
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(places, new File(outputPath);
marshaller.marshal(places, System.out);
我希望有人已经遇到了这个问题,并知道如何解决它。
P、 S.:
我已经搜索了这个问题的答案,但没有找到任何东西,所以它不应该是重复的问题。
正如我提到的
为此,我只能使用Java内部库。