dom4j解析xml的增加信息
想要在xml中增加信息,那么就要先找到你要加信息的节点
前三行是固定模式,主要是找到xml文件的地址,并且得到根节点,再从根节点中便利出来movie的所有节点之后用集合接收
SAXReader reader = new SAXReader();
doc = reader.read("src/ShowList.xml");
Element root = doc.getRootElement();
List list = root.elements("Movie");
// 添加movie对象 用的是addElement()方法。括号里为需要添加的内容
Element Movie = root.addElement("Movie");
添加完节点之后,在movie节点的下面有name节点,在name节点中添加文本信息
在movie节点下添加子节点name
Element name1= Movie.addElement("name");
这是要输入的信息
System.out.println("请输入电影名字");
String nam = input.next();
把接收到的nam信息添加到xml的方法是 把接收到的nam信息赋值给name1的文本
name1.settxt(nam);
最后需要把这些信息输入到xml中, 下面的代码都是固定格式,可以写一个方法,
public static void writein() throws Exception {
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
XMLWriter writer = new XMLWriter(new FileWriter("src/ShowList.xml"),
format);
writer.write(doc);
writer.close();
}
这样在以后多次用到这段代码时可以直接调用writein()方法,不需要臃余代码
这样就把要输入的内容放在xml文档里了
关于“GBK”这个输入方式,在把信息输入到xml文件中时就用“GBK”,别的形式会因为形式不对读不出汉字,出现的是问号,这个问题很常见,颇容易解决
总体思路
想要在xml文件中添加信息
首先找到文件位置,根节点,固定代码(文件位置需要改一下)
SAXReader reader = new SAXReader();
doc = reader.read("src/ShowList.xml");
Element root = doc.getRootElement();
得到根节点之后,遍历根节点下面的子节点movie 放在集合中
List list = root.elements("Movie");
要在movie节点的子节点name里添加信息就要先创建movie节点 然后在movie节点里添加name节点
创建movie节点 addelement()创建节点 root.addelement("movie");就是在根节点下创建movie节点
Element ele =root.addelement("movie");
创建movie节点里的name节点 ele.addelement("name");就是在movie节点下创建name节点
Element nam =ele。addelement(“name”);
有name节点之后就要输入信息
String aa=input。next();
把得到的信息aa 放在nam的文本里,aa就是nam的文本信息
nam。settxt(aa);
最后就是存进xml中的过程(固定代码)
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
XMLWriter writer = new XMLWriter(new FileWriter("src/ShowList.xml"),
format);
writer.write(doc);
writer.close();
dom4j解析xml的增加信息的更多相关文章
- dom4j解析xml文档全面介绍
一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...
- 使用dom4j 解析xml文件
//使用dom4j 解析xml文件,升级版,dom4j是对dom的封装 //重点 package com.offcn.utils; import java.io.File; import java.i ...
- 源生API解析XML文档与dom4j解析XML文档
一.XML语言 XML是一种可扩展的标记语言,是一种强类型的语言,类似HTML(超文本标记语言,是一种弱类型的语言).XML是一种通用的数据交换格式(关系型数据库),综上所诉:XML可以传输数据,也可 ...
- dom4j 解析XML文件
<?xml version="1.0" encoding="UTF-8"?> <!-- 手机的根节点 --> <Phones> ...
- 用dom4j解析xml文件并执行增删改查操作
转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ...
- java中采用dom4j解析xml文件
一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...
- 转:在java中使用dom4j解析xml
JAVA 使用Dom4j 解析XML Java DOM4J Parser - Parse XML Document Dom4j下载及使用Dom4j读写XML简介 在java中使用dom4j解析xml ...
- Dom4j解析xml
public class Dom4jTest { // Dom4j解析xml // 因为所有的方法都需要Dom树 static Document document = null; static Ele ...
- 使用dom4j解析XML文档
dom4j的包开源包,不属于JDK里面,在myeclipse中要单独导入在项目中,这里不累赘了 做这个过程,很慢,因为很多方法没用过不熟悉,自己得去查帮助文档,而且还得去试,因为没有中文版,英文翻译不 ...
随机推荐
- bootstrap 模态 modal 小例子
bootstrap 模态 modal 小例子 <html> <head> <meta charset="utf-8" /> <title ...
- myeclipse 控制台打印空指针 ,黏贴控制台sql到plsql有结果集,异常处理
信用公司框架,不够熟悉. 在完成嗲点登录后,写动态页面是遇到,了问题:myeclipse 控制台打印空指针 ,黏贴控制台sql到plsql有结果集,异常处理. 最后大神给看,在接口实现重写的方法里返回 ...
- (转载)持续集成(第二版)[来自:Martin Fowler]
转载自:iTech的博客 持续集成(第二版) 作者:Martin Fowler 译者:雷镇 持续集成 是一种软件开发实践.在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以 ...
- Linux如何复制,打包,压缩文件
(1)复制文件 cp -r 要copy的文件/("/"指的是包括里面的内容) newfile_name(要命名的文件名) eg:cp -r webapps_zero/ f ...
- leveldb 学习笔记之log结构与存取流程
log文件的格式 log文件每一条记录由四个部分组成: CheckSum,即CRC验证码,占4个字节 记录长度,即数据部分的长度,2个字节 类型,这条记录的类型,后续讲解,1个字节 数据,就是这条记录 ...
- JDBC获取sql server存储过程查询结果集(没有出参)
对于一些较为复杂的统计条件查询,可以通过存储过程来实现,既可以提高效率,减少网络流量,也可以避免sql语句耦合在代码中.但是存储过程返回的结果集如何获取(类似表数据),却着实让我费劲心力. 如下: C ...
- pod导入融云路径报错解决办法
build Settings中搜索sear Search Patchs下点开Library Search Paths 将$(inherited)"$(SRCROOT)/Pods"分 ...
- Java--使用多线程下载,断点续传技术原理(RandomAccessFile)
一.基础知识 1.什么是线程?什么是进程?它们之间的关系? 可以参考之前的一篇文章:java核心知识点学习----并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器 简 ...
- Object.create()方法的低版本兼容问题
Object.prototype.create=(function(){ if(Object.prototype.create){return Object.prototype.create}else ...
- npm 加速方案
使用npm install 包,是见比较头疼的事情,比较慢,很难等,经过探索,还是发现有办法加速的,方法有两个,让我一一道来: 1. 在npm 后添加参数 --registry=... 指定镜像源地址 ...