想要在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. PDF打水印加密

    using System; using System.Collections.Generic; using System.Data; using System.Diagnostics; using S ...

  2. dojo布局(layout)

    使用BorderContainer和ContentPane实现布局 1.效果图如下: 2.HTML代码: <div id="appLayout" class="de ...

  3. Android之数据库的创建

    一.SQLite介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP ...

  4. 关于一个程序的编译过程 zkjg面试

    http://blog.csdn.net/gengyichao/article/details/6544266 一 以下是C程序一般的编译过程: 从图中看到: 将编写的一个c程序(源代码 )转换成可以 ...

  5. [题解]UVa 10891 Game of Sum

    在游戏的任何时刻剩余的都是1 - n中的一个连续子序列.所以可以用dp[i][j]表示在第i个数到第j个数中取数,先手的玩家得到的最大的分值.因为两个人都很聪明,所以等于自己和自己下.基本上每次就都是 ...

  6. 网络-->监控-->OID-->BGP

    说明:暂时发现只适合cisco设备,h3c的交换机只支持部分OID(支持版本.AS号.ROUTER-ID)

  7. 使用guava进行对字符串的加锁

    java的synchronized关键字是堆某对象加锁,但是我们当需要对某个字符串加锁怎么办 比如对同一个订单只能有一个操作,但是对其他订单的操作不影响 使用 guava包下的 Interner 类 ...

  8. flask-admin章节二:wtforms的使用以及在数据库场景中使用QuerySelectField代替SelectField

    概述 flask admin可以支持自定义视图,对于涉及到比较复杂的视图可以选择继承flask_admin.BaseView来定义自己期待的结构. 自定义的视图的每个函数可以使用flask_admin ...

  9. VBA操作单元格

    行或列的Group化 ws.Rows("row1:row2").group row1:Group化的开始行                row2:Group化的结束行 ws.Co ...

  10. C#之方法的重载与递归

    (1). 方法的重载:方法的名称相同,但参数不同. 1.如果参数的个数相同,那么参数的类型不能相同. 2.如果参数的类型相同,那么参数的个数不能相同. (2).方法的递归:方法自己调用自己.用于找出一 ...