dom4j 怎么增加子节点??

weixin_36468948 2019-02-13 07:17:33
原始 Xml

<?xml version="1.0" encoding="utf-8"?>
<student id="123456">
<t1>111</t1>
<t2>222</t2>
<t3>333</t3>
</student>

我想修改后的 Xml

<?xml version="1.0" encoding="utf-8"?>
<student id="123456">
<t1>111</t1>
<t2>222</t2>
<t3>333</t3>
<t4>444</t4>
</student>

我想在 student 节点里面增加一个 子节点 <t4>444</t4>

java 怎么写啊,! 大神给我完整的代码,本人小白一个!!!!! 谢谢了!
...全文
373 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐_方 2019-02-14
  • 打赏
  • 举报
回复

package hh;

import java.io.File;
import java.io.FileOutputStream;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class Hello {
	public static void main(String[] args) {
		SAXReader saxReader = new SAXReader();
		 try {
			   Document doc=saxReader.read(new File("src/student.xml"));
			   //获取根节点
			   Element root=doc.getRootElement();
			   //添加子节点
			   Element t4=root.addElement("t4");
			   //设置节点文本
			   t4.setText("444");
			   OutputFormat opf=new OutputFormat("\t",true,"UTF-8");
			   opf.setTrimText(true);
			   XMLWriter writer=new XMLWriter(new FileOutputStream("src/student.xml"),opf);
			   writer.write(doc);
			   writer.close();
			   System.out.println("写入成功!");
		 }catch (Exception e) {
			// TODO: handle exception
			 e.printStackTrace();
		}
	}
		
}

nayi_224 2019-02-14
  • 打赏
  • 举报
回复
package a1work.freeMarker;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class Test1 {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		InputStream in = null;
		
		OutputStream outputStream = null;
        XMLWriter xmlWriter = null;
        
        try {
            SAXReader reader = new SAXReader();
            in = new FileInputStream(new File("testXml.xml"));
            Document doc = reader.read(in);

            Element root = doc.getRootElement();
            
            Element ele = DocumentHelper.createElement("t4");
            ele.setText("444");
            
            root.add(ele);
            
            OutputFormat outputFormat = new OutputFormat();
            outputFormat.setEncoding("UTF-8");

            outputStream = new FileOutputStream("testXmlOut.xml");
            xmlWriter = new XMLWriter(outputStream,outputFormat);

            xmlWriter.write(root);
            
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            in.close();
        }
	}

}
weixin_36468948 2019-02-13
  • 打赏
  • 举报
回复
没人知道吗?

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧