想要在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的增加信息的更多相关文章

  1. dom4j解析xml文档全面介绍

    一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...

  2. 使用dom4j 解析xml文件

    //使用dom4j 解析xml文件,升级版,dom4j是对dom的封装 //重点 package com.offcn.utils; import java.io.File; import java.i ...

  3. 源生API解析XML文档与dom4j解析XML文档

    一.XML语言 XML是一种可扩展的标记语言,是一种强类型的语言,类似HTML(超文本标记语言,是一种弱类型的语言).XML是一种通用的数据交换格式(关系型数据库),综上所诉:XML可以传输数据,也可 ...

  4. dom4j 解析XML文件

    <?xml version="1.0" encoding="UTF-8"?> <!-- 手机的根节点 --> <Phones> ...

  5. 用dom4j解析xml文件并执行增删改查操作

    转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ...

  6. java中采用dom4j解析xml文件

    一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...

  7. 转:在java中使用dom4j解析xml

    JAVA 使用Dom4j 解析XML Java DOM4J Parser - Parse XML Document Dom4j下载及使用Dom4j读写XML简介 在java中使用dom4j解析xml ...

  8. Dom4j解析xml

    public class Dom4jTest { // Dom4j解析xml // 因为所有的方法都需要Dom树 static Document document = null; static Ele ...

  9. 使用dom4j解析XML文档

    dom4j的包开源包,不属于JDK里面,在myeclipse中要单独导入在项目中,这里不累赘了 做这个过程,很慢,因为很多方法没用过不熟悉,自己得去查帮助文档,而且还得去试,因为没有中文版,英文翻译不 ...

随机推荐

  1. Finereport集群配置

    增加配置文件cluster.xml 将配置包resource文件夹下的cluster.xml打开,如果没有cluster.xml,则新建一个,基本内容如下: <?xml version=&quo ...

  2. oracle去掉重复记录语句

    oracle去掉重复记录语句   比如现在有一人员表 (表名:peosons) 若想将姓名.身份证号.住址这三个字段完全相同的记录查询出来 select p1.*   from persons  p1 ...

  3. mysql 计算日期差

    有两个途径可获得   1.利用TO_DAYS函数   select to_days(now()) - to_days('20140831')   2.利用DATEDIFF函数   select dat ...

  4. HashMap学习

    HashMap<String, Object> java.util.HashMap<String, Object>   在数组中我们是通过数组下标来对其内容索引的,而在Map中 ...

  5. DailyRollingFileAppender的使用

    DailyRollingFileAppender是日志记录软件包Log4J中的一个Appender,它能够按一定的频度滚动日志记录文件. 如果您不熟悉Log4J,建议阅读一下 使用Log4j进行日志记 ...

  6. 清除WKWebView的缓存

    OC写法: swift写法再下下面. 清除WKWebView的缓存,让H5页面一刷新就更新至最新的页面 要区分iOS9.0和8.0两种 - (void)deleteWebCache { if ([[U ...

  7. 有关tp里搜索框的实现方法

    1:

  8. ue4 NewObject/StaticConstructObject_Internal/StaticAllocateObject/FObjectInitializer:对象创建和初始化

    UObject是一套很复杂的体系,之前读ue3代码时曾分析过其类型系统实现,主要是与UClass间的关系 现在转到ue4,发现那一块其实差不多,于是再重点备忘一下UObject本身的创建和初始化过程 ...

  9. make: Nothing to be done for `first'

    在qt目录下make后出现以下错误: make: Nothing to be done for `first' 解决:将你当前目录下的,删除你程序主要的 *.cpp 和 *.h文件以外的所有文件. 接 ...

  10. NPOI导出Excel(含有超过65335的处理情况)

    NPOI导出Excel的网上有很多,正好自己遇到就学习并总结了一下: 首先说明几点: 1.Excel2003及一下:后缀xls,单个sheet最大行数为65335 Excel2007 单个sheet ...