2 liuzhen6835 liuzhen6835 于 2015.07.09 22:46 提问

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

public boolean insertStudent(Student student)
{
boolean flag=false;
SAXReader saxReader=new SAXReader();
try {
Document doc=saxReader.read(new File("db\student.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("db\student.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>

3个回答

liuzhen6835
liuzhen6835   2015.07.09 23:09
已采纳


Element snameEle=rootEle.addElement("sname");
Element sexEle=rootEle.addElement("sex");
Element ageEle=rootEle.addElement("age");
把rootEle换成snoEle
danielinbiti
danielinbiti   Ds   Rxr 2015.07.09 23:09
 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");
liuzhen6835
liuzhen6835 不好意思啊!当我检查出错误提交了,刷新才看到你的。还望你不要放在心上,以后还望多多帮忙
大约 3 年之前 回复
yuke198907
yuke198907   2015.07.10 08:15

这个不就是包含开始结束了么

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java中用Dom4J来操作xml文件(删除和修改和添加)
java中用Dom4J来操作xml文件(删除和修改和添加) 1.1.1 功能分析 //3、修改某个元素节点的主体内容:信阳-->安阳 //6、删除指定元素节点:删除元素开封   注意: 调用方法完毕, 仅仅是在内存中进行了修改, 需要用到OutputFormat和XMLWirter两个类配合使用 将数据写入到文件 实例代码 public static
dom4j 回写 xml 时会给xml文件其他部分内容添加空白行
我有这样一个需求,将一段带有标签、换行符、缩进符的字符串直接当做文本添加到元素中, 先按照正常的 dom4j 操作流程写入这段字符串:如下 //创建解析器 SAXReader saxReader = new SAXReader(); //得到document Document document = saxReader.read(xmlPath); /...
dom4j在指定位置添加标签更新标签
stu.xml在张三下面添加性别标签 张三 西安 98 西瓜大 李四 临潼 59 Add.java package Dom4j; import java.io.FileNotFoundException; import java.io.FileOutputStrea
Dom4j增加,修改,删除XML文件
一.如何配置Dom4j xml解析: 点击查看 二.修改项目类内容 1.)增加:文档,标签,属性 2.)修改:属性值,文本 3.)删除:标签,属性 1.)增加:文档,标签,属性a.创建文本write.xml//创建文本 Document doc = DocumentHelper.createDocument();b.创建标签// 创建标签 E
DOM4J jar包 获取xml文件中的标签内容
// 1.导入DOM4J jar包         // 创建解析器对象         SAXReader reader = new SAXReader();         Document doc = reader.read(new FileInputStream("students.xml"));         // 获取根标签对象         Element rootEl
没有闭合(结束)标签XML文件的解析
先上XML文件: RESULT_INFO> PATIENT> origin value="XX科技公司" /> id value="1234568" /> name value="李四" /> sex value="男" /> age value="20" /> exmatime val
dom4j向xml中插入新的元素
package com.huawei.test; import java.io.File; import java.io.FileOutputStream; import java.util.List; import org.dom4j.Document;
往xml文件中加入一个节点的简单实现
public class addNode { public static void main(String[] args) throws Exception{ SAXReader reader = new SAXReader(); Document doc = reader.read(new FileInputStream("student.xml")); Element root
DOM4J生成XML文件的中文乱码问题
DOM4J生成XML文件的中文乱码问题   2012-10-15 14:36:46|  分类: FusionCharts|举报|字号 订阅 如果用之前的解决中文问题的方法,输出的XML文件编码为GBK,改成UTF-8就会出错;如果把Format编码设置为UTF-8或不做任何事情(其默认会生成“”),生成的XML文件只能用文本打开,用浏览器会出现错误,不过通过文本“另存为..”设置
利用dom4j解析.xml之查询标签
public static void main(String[] args) throws Exception { SAXReader reader = new SAXReader(); Document doc = reader.read(new File("./src/contact.xml")); //要对此文档进行操作,必须要先拿到文档的根目录。 Element rootEle = doc.getRootElement(); //根据指定名获取第一个子标签