栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

XML的解析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

XML的解析

 

目录

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

同包

根路径

WIN-INF安全路径

二、XML解析方式

什么是DOM4J?

DOM4J常用方法

XPath的使用

 案例:


一、Java中配置文件的三种配置位置及读取方式
  • 同包

InputStream in = XmlReader.class.getResourceAsStream("config.xml");
  • 根路径

InputStream in = XmlReader.class.getResourceAsStream("/config.xml");
  • WIN-INF安全路径

InputStream in = XmlReader.class.getResourceAsStream("WIN-INF/config.xml");

二、XML解析方式

xml解析方式有四种:DOM解析、SAX解析、DOM4J解析、JDOM解析。今天着重讲的是DOM4J

什么是DOM4J?

dom4j 是一个简单的开源库,用于处理 XML、 XPath 和 XSLT,它基于 Java 平台,使用 Java 的集合框架,全面集成了 DOM,SAX 和 JAXP。下载路径:

https://dom4j.github.io/

有jar包资源

还有代码演示教你如何操作 

 

DOM4J常用方法
方法描述
selectNodes拿到多个节点
selectSingleNode拿到单个节点
attributeValue

返回指定属性值,如果属性不存在,返回空字符串

getText拿到元素文本
getRootElemnent拿到根元素

XPath的使用

/  定义路径

@  属性

SelectNodes("/root/item/@name") 取 item 的 name 属性

 案例:

需要用到的jar包

xml配置文件config.xml



     
    
    
      
]>
	

	
	
		
		
	
	
		
		
	

xml解析代码:

package com.zking.demo;

import java.io.InputStream;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class XmlReader {

	public static void main(String[] args)throws Exception {
		InputStream in = XmlReader.class.getResourceAsStream("/config.xml");
	    SAXReader sax = new SAXReader();
	    Document doc = sax.read(in);
	    //获取根元素
	    Element rootElement = doc.getRootElement();
	    List actions = rootElement.selectNodes("action");
        for(Element e: actions) {
        	String path = e.attributeValue("path");
            String type = e.attributeValue("type");
            
            System.out.println("action path = "+path);
            System.out.println("action type = "+type);
            
            List forwards = e.selectNodes("forward");
           for(Element f: forwards) {
        	   String name = f.attributeValue("name");
               String fpath = f.attributeValue("path");
               String redirect = f.attributeValue("redirect");
               
               System.out.println("forward name = "+name);
               System.out.println("forward fpath = "+fpath);
               System.out.println("forward redirect = "+redirect);
           }
           System.out.println("=====================");
        }
        
        
	}
}

效果图如下:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1005639.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号