XML 文件解析

Posted xiaozhaoboke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML 文件解析相关的知识,希望对你有一定的参考价值。

Dom4j是目前最流行、最好用的XML解析工具,解析XML的速度最快

一、环境准备:Maven导入dom4j依赖

<!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
<dependency>
    <groupId>dom4j</groupId>
    <artifactId>dom4j</artifactId>
    <version>1.6.1</version>
</dependency>

二、提供XML文件

<?xml version="1.0" encoding="UTF-8"?>
<student StudentNO="1804">
    <name>Tom</name>
    <age>18</age>
    <gender></gender>
    <phone>18888888888</phone>
</student>

三、利用dom4j实现XML文件解析方法

 1 package cn.xiaobing.util;
 2 
 3 import java.io.File;
 4 import java.io.FileInputStream;
 5 import java.io.InputStream;
 6 import java.util.List;
 7 
 8 import org.dom4j.Document;
 9 import org.dom4j.Element;
10 import org.dom4j.io.SAXReader;
11 
12 public class XmlDemo 
13     /**
14      * 解析XML的方法
15      */
16     public static void readXml() 
17         //1.创建解析器
18         SAXReader saxReader = new SAXReader();
19         //2.获取Document文档对象
20         File file = new File("src/test/resources/student.xml");
21         InputStream inputStream;
22         Document document = null;
23         try 
24             inputStream = new FileInputStream(file);
25             document = saxReader.read(inputStream);
26          catch (Exception e) 
27             e.printStackTrace();
28         
29         //3.获取根节点
30         Element root = document.getRootElement();
31         //获取根节点的属性值
32         String sid = root.attributeValue("StudentNO");
33         System.out.println("StudentNO:"+sid);
34         //4.通过根节点一级一级遍历,拿到子节点的内容
35         List<Element> elements = root.elements();
36         for (int i = 0; i < elements.size(); i++) 
37             Element element = elements.get(i);
38             //获取标签名
39             String name = element.getName();
40             //获取元素文本值
41             String str = element.getText();
42             System.out.println("<"+name+">"+str+"</"+name+">");
43         
44     
45     public static void main(String[] args) 
46         readXml();
47     
48 

四:控制台输出

技术图片

五、总结,不足之处后续补充!

以上是关于XML 文件解析的主要内容,如果未能解决你的问题,请参考以下文章

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

DOM解析xml文件

无法解析片段中的 findViewById [重复]

java解析xml的几种方式哪种最好?

Expat Parser解析xml文件

jsoup解析xml某片段的问题