想要在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();

04-16 02:28
查看更多