XML
1.简介
XML(Extensible Markup Language)是一种类似于 HTML,但是没有使用预定义标记的语言。
XML与HTML类似,也是文档树的结构,由唯一的根节点和其他子节点组成
2.解析XML文件方式
XML解析方式有两种:DOM解析及SAX解析,现在常用SAX解析
3.Java中使用 DOM4J 解析XML文件的步骤
DOM4J
是第三方的 jar 包,需要导入 jar 包才能使用
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.3</version>
</dependency>
以下是读取XML文件的步骤(具体操作由需求决定,这里只是方法的使用演示)
public class XMLDemo {
// 读取XML文件
public static void demo(String path) throws Exception {
File file=new File(path);
// 创建SAX解析器对象
SAXReader saxReader=new SAXReader();
// 读取XML文件获取文档对象
Document document = saxReader.read(file);
// 获取文档中的根节点
Element rootElement = document.getRootElement();
// 获取节点下的其他节点,返回一个包含该节点下
// 所有子节点的节点对象的 list 集合
List<Element> elements = rootElement.elements();
// 获取节点的属性值 这里获取名为id的属性值
String id = rootElement.attributeValue("id");
}
}
创建XML文件也是同理,只是方法不同
public class XMLDemo {
// 创建XML文件
public static void demo() throws Exception {
// 创建文档对象
Document document= DocumentHelper.createDocument();
// 向文档对象中添加根节点
Element students = document.addElement("students");
// 向根节点中添加节点
Element student = students.addElement("student");
// 给节点添加属性
student.addAttribute("id", "1");
// 给节点赋值
student.addText("hello");
// 设置生成XML文件格式
OutputFormat of=OutputFormat.createPrettyPrint();
// 设置编码格式 其实不设置也行,因为默认UTF-8
of.setEncoding("UTF-8");
// 获取XML输出流 将文件输出到指定路径
XMLWriter xml=new XMLWriter(new FileWriter("f://students.xml"));
// 将创建的文档输出
xml.write(document);
// 释放资源
xml.close();
}
}