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);
            }
        }
    }
}
相关文章
|
22天前
|
XML JavaScript 前端开发
xml文件使用及解析
xml文件使用及解析
|
1天前
|
XML JavaScript 前端开发
XML DOM - 属性和方法
XML DOM 提供编程接口,用属性和方法访问及操作XML节点。通过JavaScript等语言,可利用DOM属性(如nodeName, nodeValue, parentNode, childNodes, attributes)了解和修改节点信息。方法如getElementsByTagName用于查找特定标签元素,appendChild和removeChild则用于添加或移除子节点。
|
2天前
|
前端开发 JavaScript 数据安全/隐私保护
前端javascript的DOM对象操作技巧,全场景解析(二)
前端javascript的DOM对象操作技巧,全场景解析(二)
|
2天前
|
移动开发 缓存 JavaScript
前端javascript的DOM对象操作技巧,全场景解析(一)
前端javascript的DOM对象操作技巧,全场景解析(一)
|
3天前
|
XML Web App开发 JavaScript
XML DOM 解析器
大多数浏览器内置XML解析器,用于将XML转换为JavaScript可操作的DOM对象。解析器提供遍历、修改XML节点的功能。以下JS代码示例展示了如何加载XML文档:&quot;books.xml&quot;,通过XMLHttpRequest或ActiveXObject发送请求,获取响应并转化为DOM对象。
|
4天前
|
XML 存储 JavaScript
XML DOM 节点
**XML DOM 把文档解析成节点树:** - 文档是个文档节点 - 每个元素是元素节点,如 `&lt;year&gt;` - 文本、属性和注释对应不同节点 - 元素的文本(如 &quot;2005&quot;)存于单独的文本节点 - `&lt;year&gt;` 的值是其包含的文本节点内容
|
4天前
|
XML 存储 数据格式
探索 DTD 在 XML 中的作用及解析:深入理解文档类型定义
DTD(文档类型定义)用于定义XML文档的结构和合法元素、属性。它允许不同团体就数据交换标准达成一致,并用于验证XML数据的有效性。DTD可通过内部声明(在XML文档内)或外部声明(在单独文件中)来定义。内部声明示例显示了如何定义`note`元素及其子元素的结构,而外部声明则引用外部DTD文件。元素、属性、实体和PCDATA/CDATA是XML构建模块。DTD中,元素通过ELEMENT声明定义,属性通过ATTLIST声明定义,实体声明提供特殊字符或外部资源的快捷方式。
9 0
|
9天前
|
XML Java 数据库连接
Javaweb之Mybatis的XML配置文件的详细解析
Javaweb之Mybatis的XML配置文件的详细解析
13 0
|
9天前
|
JavaScript 前端开发 UED
深入解析JavaScript原生操作DOM技术
【4月更文挑战第22天】本文深入探讨JavaScript原生DOM操作技术,包括使用`getElement*`方法和CSS选择器获取元素,借助`createElement`与`appendChild`动态创建及插入元素,修改元素内容、属性和样式,以及删除元素。通过掌握这些技术,开发者能实现页面动态交互,但应注意避免过度操作DOM以优化性能和用户体验。
|
12天前
|
XML C# 数据格式
C# 解析XML文件
C# 解析XML文件
18 1

推荐镜像

更多