问题描述
- dom4j向xml文件中增加数据后缺少结尾标签
-
public boolean insertStudent(Student student)
{
boolean flag=false;
SAXReader saxReader=new SAXReader();
try {
Document doc=saxReader.read(new File("dbstudent.xml"));
Element rootEle=doc.getRootElement();
Element snoEle=rootEle.addElement("student");
Element snameEle=rootEle.addElement("sname");
Element sexEle=rootEle.addElement("sex");
Element ageEle=rootEle.addElement("age");
snoEle.addAttribute("sno", student.getSno());
snameEle.setText(student.getSname());
sexEle.setText(student.getSex());
ageEle.setText(String.valueOf(student.getAge()));
OutputFormat of=OutputFormat.createPrettyPrint();
of.setEncoding("GBK");
XMLWriter xWrite=new XMLWriter(new FileWriter("dbstudent.xml"),of);
xWrite.write(doc);
xWrite.close();
flag=true;
}
catch (DocumentException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return flag;
}插入数据后打开xml其中的数据是: <student sno="1006"/> <sname>lz</sname> <sex>lz</sex> <age>32</age> <student sno="1007"/> <sname>hehe</sname> <sex>he</sex> <age>32</age> <student sno="1008"/> <sname>haha</sname> <sex>ha</sex> <age>32</age> 都没有</student>
解决方案
Element snameEle=rootEle.addElement("sname");
Element sexEle=rootEle.addElement("sex");
Element ageEle=rootEle.addElement("age");
把rootEle换成snoEle
解决方案二:
Element snoEle=rootEle.addElement("student");
Element snameEle=rootEle.addElement("sname");
Element sexEle=rootEle.addElement("sex");
Element ageEle=rootEle.addElement("age");
改成
Element snoEle=rootEle.addElement("student");
Element snameEle=snoEle.addElement("sname");
Element sexEle=snoEle.addElement("sex");
Element ageEle=snoEle.addElement("age");
解决方案三:
这个不就是包含开始结束了么
时间: 2024-08-31 08:58:18