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