[java]jdom解析xml文件(二)

2014-11-24 10:41:01 · 作者: · 浏览: 1
ressWarnings("unchecked")
public static void UpdateXml(String str)throws JDOMException, IOException{
SAXBuilder builder = new SAXBuilder();//实例JDOM解析器
Document document = builder.build("src/bookstore.xml");//读取xml文件
Element root = document.getRootElement();//获得根节点
List list=root.getChildren();//获得所有根节点的子节点
for(Element e:list){
//删除genre="上海出版社"这个book节点
if(str.equals(e.getAttributeva lue("genre"))){
e.getChild("title").setText("111111111");
System.out.println("修改成功!!!");
break;
}
}
//文件处理
XMLOutputter out = new XMLOutputter();
out.output(document, new FileOutputStream("src/bookstore.xml"));
}
}

测试xml:bookstore.xml
< xml version="1.0" encoding="UTF-8" >


盗墓笔记
南派三叔
25.00


三重门
韩寒
35.00


平凡的世界
路遥
27.00


随遇而安
孟非
30.00


111111111
余秋雨
40.00

使用:jdom-1.0.jar包
总结:在读取xml文件时候。大家是不是觉得有点像用io流读取一个文件?其实读取xml文件,本来就是文件读取的。只不过此时的文件是xml属于。有问有xml文件内部有一定的特性,所以需要一层一层的往下读取。如读取根节点,然后循环根节点内部的子节点,最后在循环读取每一个子节点内部个属性、元素的值。

在添加xml文件时也是如此。首先读取文件,找到根节点,然后要添加沈阳的子节点、在子节点上要添加什么样的属性、元素。
其实做了以上的操作,大家不是不觉得xml文件可以当做一个小型数据库?呵呵。。。本人觉得应该可以。他可以对其内容,增删改查功能,所以应该可以当做一个小型数据库