J2EE&XML解析&dom4j的使用

简介: J2EE&XML解析&dom4j的使用

一.Java中配置文件的三种方式及读取方式

  1. 同包 Demo01.class.getResourceAsStream("db.properties");
  2. 根路径 Demo01.class.getResourceAsStream("/db.properties");
  3. WIN-INF安全路径 Demo01.class.getResourceAsStream("/WEB-IEF/db.properties");

二.dom4j的使用  常用方法

  • selectSingleNode
  • selectNodes
  • attributeValue
  • getText

三.xpath的使用

语法

       ① / 定位路径

       ② @ 属性

案例

       查找s002学生姓名

<?xml version="1.0" encoding="UTF-8"?>
<students>
    <student sid="s001">
        <name>小明</name>
    </student>
    <student sid="s002">
        <name>小芳</name>
    </student>
    <student sid='s003'>
        <name>小王</name>
    </student>
</students>
//解析 查找s001学生姓名
public class Demo02 {
    public static void main(String[] args) throws DocumentException {
        InputStream in = Demo02.class.getResourceAsStream("students.xml");
        SAXReader reader = new  SAXReader();
        Document doc = reader.read(in);
         String name = doc.selectSingleNode("/students/student[@sid='s001']/name").getText();
         System.out.println(name);
    }
}

例如:

package com.zking.xmlparse;
import java.io.InputStream;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Demo04 {
    public static void main(String[] args) throws DocumentException {
        //先通过类路径获取XML文件的输入流
        InputStream in = Demo04.class.getResourceAsStream("/config.xml");
        SAXReader reader = new SAXReader();
        //然后使用SAXReader读取输入流并解析成Document对象
        Document doc = reader.read(in);
        //接着获取XML文件的根元素
        Element root = doc.getRootElement();
        //并通过selectNodes方法获取所有名为"action"的子元素列表
        List<Element> nodes = root.selectNodes("action");
        //遍历每一个"action"元素
        for (Element el : nodes) {
            //并获取其"path"和"type"属性的值
            String path = el.attributeValue("path");
            String type = el.attributeValue("type");
            System.out.println(path);
            System.out.println(type);
            //然后通过selectNodes方法获取其所有名为"forward"的子元素列表
            List<Element> forward = el.selectNodes("forward");
            //遍历每一个"forward"元素
            for (Element el2 : forward) {
                //并获取其"name"、"path"和"redirect"属性的值
                String name = el2.attributeValue("name");
                String path2 = el2.attributeValue("path");
                String redirect = el2.attributeValue("redirect");
                //最后将获取的值输出到控制台上
                System.out.println(name);
                System.out.println(path2);
                System.out.println(redirect);
            }
        }
    }
}
相关文章
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
3207 1
|
8月前
|
XML 数据采集 API
用Lxml高效解析XML格式数据:以天气API为例
免费Python教程:实战解析中国天气网XML数据,详解Lxml库高效解析技巧、XPath用法、流式处理大文件及IP封禁应对策略,助你构建稳定数据采集系统。
416 0
|
XML JavaScript Android开发
【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
本文总结了Android中几种常用的网络技术,包括WebView、HttpURLConnection、OKHttp和XML的Pull解析方式。每种技术都有其独特的特点和适用场景。理解并熟练运用这些技术,可以帮助开发者构建高效、可靠的网络应用程序。通过示例代码和详细解释,本文为开发者提供了实用的参考和指导。
589 15
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
381 1
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
378 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
1330 8
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
240 3

推荐镜像

更多
  • DNS