package xml;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.junit.Test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.List;
public class xmlUpdate {
@Test
public void test1() throws Exception {
//1、使用DOM4j技术进行SAX解析
SAXReader reader = new SAXReader();
//2、读取文档
Document doc = reader.read(new FileInputStream("books.xml"));
// 3、进行xPath查询
List lists = doc.selectNodes(("//书/@number"));
for(Object obj : lists){
if(obj instanceof Attribute){
//获取属性对象
System.out.println(obj.getClass());
Attribute att = (Attribute)obj;
att.setValue("1000");
}
}
//保存
XMLWriter writer = new XMLWriter(new FileOutputStream("books.xml"));
writer.write(doc);
writer.close();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<书架>
<书 number="1000">
<书名>java从入门到超神</书名>
<作者>提莫</作者>
</书>
<书 number="1000">
<书名>php从入门到超神</书名>
<作者>Ivan</作者>
</书>
</书架>