public static void main(String[] args) {
SAXReader reader = new SAXReader();
try {
Document doc = reader.read(new File("doc/movies.xml"));
saveToXml(doc);
} catch (DocumentException e) {
throw new RuntimeException(e);
}
}
private static void saveToXml(Document doc) {
//1.在内存中构建一个新的电影节点对象及其它包含的子节点信息
Element movieEle = doc.getRootElement().addElement("movie"); //获取元素的根元素
movieEle.addAttribute("id","1475137"); //设置id属性及值
movieEle.addElement("name").setText("长安三万里"); //向movie中添加根元素,并添加属性值依次类推
movieEle.addElement("type").setText("历史,动画");
movieEle.addElement("period").setText("7.5");
movieEle.addElement("pubDate").setText("2023-07-08");
movieEle.addElement("director").setText("谢君伟,邹靖");
//2.将内存中构建好的DOM树通过流对象写到movies.xml文件中去
XMLWriter out = null;
try{
OutputFormat format = OutputFormat.createPrettyPrint(); //格式化代码
out = new XMLWriter(new FileWriter("doc/movies.xml"),format); //传入格式化参数
out.write(doc);
System.out.println("成功写入movies.xml文件");
}catch (Exception e){
e.printStackTrace();
}finally {
if (null != out){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}