dom4j向xml文件中增加数据后缺少结尾标签

问题描述

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

dom4j向xml文件中增加数据后缺少结尾标签的相关文章

InfoPath开发实战(2):获取XML文件中的数据

本节的内容: 如何在InfoPath中使用数据连接来从XML文件中获取数据 如何通过代码来修改数据连接中的XML文件路径 打开Visual Studio 2008,以"InfoPath 2007表单模板"为项目模板新建一个项目. 项目创建完后,就会看到一个空空如也的mainifest.xsf文件,这就是InfoPath表单的设计区域,我们可以使用"工具箱"和"版式"面板来设计表单. 我们先不急于设计表单,而是添加一个数据连接.为了让示例更加有趣,

js-使用jquery读取xml文件中的数据

问题描述 使用jquery读取xml文件中的数据 使用jquery读取xml文件中的数据,当加载进入页面是只加载前面10记录,其他的记录依次由页面中点击按钮后在继续加载数据 我也可以成功的可以一次性的读取全部的xml文件中的数据,但是由于数据量比较多所有需要依次慢慢的加载数据(分布加载)

xml-Android Xml文件中二进制数据怎么解析

问题描述 Android Xml文件中二进制数据怎么解析 二进制数据,base-64 解决方案 Android - 读取XML文件中的数据Android数据存储---Pull解析Xml文件将二进制数据放在XML文件中. 解决方案二: 读取那个二级制数据的节点 然后用base64 解密类库 解密 就可以吧

xml-DataGridViewComboBoxColumn不显示XML文件中的数据

问题描述 DataGridViewComboBoxColumn不显示XML文件中的数据 我做出来的效果是这样的 但是我要让程序一运行就能出来数据 我对ComboBoxColumn没有写代码,只是设置了属性,但是试了好多都没用,求大牛帮帮我!!!1 解决方案 你需要初始化下拉列表中的条目(计算.开关...),这样表格才能自动将数据匹配到下拉的条目上.

利用缓存机制快速读取XML文件中的数据

xml|缓存|数据 接到一个任务,让我做一个公司网站的后台管理系统.要求很简单,就一个新闻发布模块和一个招聘信息发布模块.但不能用DB,只能用文件存取的形式实现.        不用考虑肯定是用XML文件进行数据的存取了,以前做毕设的时候也曾经实现过类似的功能,所以关于XML的读取并没有问题.关键是如果考虑到性能的问题就值得推敲一下了,我是新人,以前也没做过什么设计,所以做出的东西在一些人眼中可能会有些稚嫩,那也没关系,走自己的路让别人去说吧:)        如果频繁解析文件,速度肯定受到影响

android工程文件的res文件下的xml文件中color标签的值如何动态修改

问题描述 android工程文件的res文件下的xml文件中color标签的值如何动态修改 请问给位前辈,如果想动态修改android的strings.xml文件中的color属性java代码该怎莫写呀!?请大家指点一下!是修改传入新值,不是获取. 解决方案 在values下面新建一个叫做color.xml的文件内容如下颜色都是16进制的,你可以通过颜色表来查询. <?xml version="1.0" encoding="utf-8" ?> #FFFF

MSXML更改xml是removechild方法成功,但xml文件中数据还存在

问题描述 MSXML更改xml是removechild方法成功,但xml文件中数据还存在 CoInitialize(NULL) ; //得到整个xml文档MSXML2::IXMLDOMDocumentPtr pDoc ;HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30)) ;if(FAILED(hr)){ return ;}pDoc->load((LPCTSTR)xmlpath) ;//得到根节点MSXML2::IXM

C#中如何将一个类用XML序列化后,作为一个节点添加到已存在的xml文件中

问题描述 比如有个Cat类,实例化后,要以xml的格式序列化保存到本地的CatList.xml中,不能覆盖xml文件中原有的数据,只是作为一个新的节点加入.如果加入成功,要以反序列化的方式读取,怎么操作谢谢各位 解决方案 解决方案二:Serialize对象后appendChild或者insertBefore到新的节点,再Deserialize对象读取.解决方案三:建议lz看看如何使用linq操作xml文件.这个不难.解决方案四:其实大家的想法我也知道,现实遇到的问题是,序列化和反序列化操作的是流

通讯录中包括一般通讯录中的基本信息,也需要实现普通的检索功能。通讯录写入文件,程序执行时,需要从文件中导入数据,程序退出后再将数据保存到文件中。

问题描述 通讯录中包括一般通讯录中的基本信息,也需要实现普通的检索功能.通讯录写入文件,程序执行时,需要从文件中导入数据,程序退出后再将数据保存到文件中. 解决方案 解决方案二:楼主的逻辑好混乱,百度一下JAVAI/O例子吧,用于文件读写的,或者百度一下JAVA解析XML,保存通信录用文件的话还是建议使用XML格式比较好解决方案三:不知道你说的是不是android里面,如果是的话可以直接找到方法取.