一、读取xml文件
public static void readxml() throws Exception{
//1创建SaxReader
SAXReader reader=new SAXReader();
//2获取Document对象
Document document=reader.read(new FileReader("src\\books2.xml"));
//3获取根节点
Element root=document.getRootElement();//books
//System.out.println(root.getName());
//4获取book集合
List<Element> bookList=root.elements("book");
for (Element b : bookList) {
//System.out.println(b.getName());
//5获取属性
String id=b.attributeValue("id");
String name=b.element("name").getText();
String author=b.element("author").getText();
String price=b.elementText("price");
Book book=new Book(Integer.parseInt(id), name, author, Double.parseDouble(price));
System.out.println(book.toString());
}
}
二、写入XML文件
public static void writeXml() throws Exception{
//1 创建SaxReader
SAXReader reader=new SAXReader();
//2读取
Document document=reader.read(new FileReader("src\\books2.xml"));
//3获取根节点
Element root = document.getRootElement();
//4添加节点
Element newbook = root.addElement("book");
//5添加属性
newbook.addAttribute("id","1003");
//6newbook添加name author price
newbook.addElement("name").setText("android开发");;
newbook.addElement("author").setText("老张");;
newbook.addElement("price").setText("88.8");;
//7写入文件中
OutputFormat format=OutputFormat.createPrettyPrint();//创建一个漂亮的输出格式
format.setEncoding("utf-8");
XMLWriter writer=new XMLWriter(new FileWriter("src\\books2.xml"), format);
writer.write(document);
writer.close();
System.out.println("写入成功");
}
三、修改和删除xml文件
public static void updateXml() throws Exception{
//1创建Xmlreader
SAXReader reader=new SAXReader();
//2文档
Document document = reader.read(new FileReader("src\\books2.xml"));
//3获取根节点
Element root = document.getRootElement();
//4获取id=1003的book
List<Element> elements = root.elements("book");
Element bookEle = elements.get(2);
bookEle.element("name").setText("android从入门到大神");
Element first =elements.get(0);
//5删除
root.remove(first);
//6写入
OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
XMLWriter writer=new XMLWriter(new FileWriter("src\\books2.xml"), format);
writer.write(document);
writer.close();
System.out.println("修改删除完毕");
}