基本代码:
student.xml
<?xml version="1.0" encoding="UTF-8"?>
<student>
<stu>
<id>100</id>
<name>猴哥</name>
<age>20</age>
</stu>
<stu>
<id>200</id>
<name>超儿</name>
<age>25</age>
</stu>
<stu>
<id>300</id>
<name>唐僧</name>
<age>30</age>
</stu>
</student>
studentClass.java
package example5;
public class studentClass {
private String id;
private String name;
private String age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String toString() {
return "studentClass [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
student.java
package example5;
import java.io.FileOutputStream;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
class student {
// 添加操作
public static void addStu(studentClass studentClass) throws Exception {
SAXReader saxreader = new SAXReader();
Document document = saxreader.read("src/example5/student.xml");
Element root = document.getRootElement();
Element stu = root.addElement("stu");
Element id1 = stu.addElement("id");
Element name1 = stu.addElement("name");
Element age1 = stu.addElement("age");
id1.setText(studentClass.getId());
name1.setText(studentClass.getName());
age1.setText(studentClass.getAge());
// 回写xml
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("src/example5/student.xml"), format);
xmlWriter.write(document);
xmlWriter.close();
}
// 删除操作
public static void deleteStu(studentClass studentClass) throws Exception {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read("src/example5/student.xml");
Element root = document.getRootElement();
Element stu = root.element("stu");
root.remove(stu);
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("src/example5/student.xml"), format);
xmlWriter.write(document);
xmlWriter.close();
}
// 查询操作
//获取解析器
//获取document对象
//获取id,遍历id结点
//与传入的id进行比较,若是相等,获取父节点
//通过父节点取值传值
public static studentClass getStu(String id) throws Exception {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read("src/example5/student.xml");
List<Node> list = document.selectNodes("//id");
studentClass student = new studentClass();
for (Node node : list) {
String id1 = node.getText();
if (id1.equals(id)) {
Element stu = node.getParent();
String name1 = stu.element("name").getText();
String age1 = stu.element("age").getText();
student.setId(id1);
student.setName(name1);
student.setAge(age1);
}
}
return student;
}
}
testStu.java
package example5;
class testStu {
public static void main(String[] args) throws Exception {
//testAdd();
/*studentClass stu=new studentClass();
student.deleteStu(stu);*/
getStu();
}
public static void testAdd() throws Exception {
studentClass stu = new studentClass();
stu.setId("300");
stu.setName("唐僧");
stu.setAge("30");
student.addStu(stu);
}
public static void getStu() throws Exception {
studentClass stu=student.getStu("200");
System.out.println(stu.toString());
}
}