DOM4J获取Document对象:
使用DOM4J来加载XML文档,需要先获取SAXReader对象,然后通过SAXReader对象的read()方法来加载XML文档:
SAXReader reader = new SAXReader();
// reader.setValidation(true);
Document doc = reader.read("src/students.xml");
DOM4J保存Document对象
保存Document对象需要使用XMLWriter对象的write()方法来完成,在创建XMLWriter时还可以为其指定XML文档的格式(缩进字符串以及是否换行),这需要使用OutputFormat来指定。
doc.addDocType("students", "", "students.dtd");
OutputFormat format = new OutputFormat("\t", true);
format.setEncoding("UTF-8");
XMLWriter writer = new XMLWriter(new FileWriter(xmlName), format);
writer.write(doc);
writer.close();
DOM4J创建Document对象:
DocumentHelper类有很多的createXXX()方法,用来创建各种Node对象。
Document doc = DocumentHelper.createDocument();
Document操作:
遍历students.xml
涉及的相关方法:
- Element getRootElement():Document的方法,用来获取根元素;
- List elements():Element的方法,用来获取所有孩子元素;
- String attributeValue(String name):Element的方法,用来获取指定名字的属性值;
- Element element(String name):Element的方法,用来获取第一个指定名字的子元素;
- String elementText(String name):Element的方法,用来获取第一个指定名字的子元素的文本内容。
分析步骤:
- 获取Document对象;
- 获取root元素;
- 获取root所有子元素
- 遍历每个student元素;
- 打印student元素number属性;
- 打印student元素的name子元素内容;
- 打印student元素的age子元素内容;
- 打印student元素的sex子元素内容。