XML文件的第一种解析方式
DOM解析
1.工具:DOM解析使用的工具:dom4j
2.将dom4j 的jar 包导入eclipse 项目下的方法:
(1)如果是Java项目,在项目下新建一个目录lib,可以使用此目录存放额外需要导入的jar包——>右键“add to build path”,将jar包关联到项目下
(2)如果是web项目,根目录下的“webContent”——>文件夹“WEB INF”——>“lib文件夹”
3.DOM解析的原理:
(1)xml解析引擎在解析xml文件的时候,将当前的xml文件中的每一个标签都封装成了一个对象(标签对象/节点对象)——> 形成树状结构
(2)结构顺序:
Node(节点对象)
Element(标签对象)
Attribute(属性对象)
Text(文本对象)
(3)dom解析的原理图解:
3.使用dom4j工具读取xml文件的方法:
dom4j工具api关于解析xml文件的源码:
public class Foo { public Document parse(URL url) throws DocumentException { SAXReader reader = new SAXReader(); Document document = reader.read(url); return document; } }
(1)创建解析器对象:SAXReader reader = new SAXReader();
(2)读取xml文件,获得xml文档对象:Document doc = reader.read(new File("xml文件")) ;
注:返回的对象是document对象,代表的是当前xml文件的文档信息
一、使用dom4j获取XML文件对象的方法
1.使用dom4j工具获取xml文件中的每一个标签对象(Element):
(1)获取根节点:文档对象.getRootElement();
(2)通过根节点获取第一个子节点:根节点对象.element(“标签名称”); 注:此方法默认获取第一个子节点
(3)获取所有同名的节点对象:根节点对象.elements(“标签名称”); 注:此方法返回的是一个List集合 List<Element>
(4)获取根节点下所有的节点对象:根节点对象.elements();
(5)获取根节点的孙节点对象:根节点对象.element("子节点名称").element("孙节点名称");
注意:获取节点名称的方法:getName();
练习:使用dom4j工具获取xml文件中的标签对象
import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Test1 {
public static void main(String[] args) throws Exception{
// 创建xml文件解析器对象SAXReader
Document doc = new SAXReader().read(new File("./src/contact.xml"));
// 获取根节点
Element rootElement = doc.getRootElement();
String rootName = rootElement.getName();
System.out.println(rootName);
System.out.println("----------------");
// 获取根节点下的第一个子标签
Element c