目录

dome4j常用方法

xpath语法

解析案例


导入我们需要用的jar包

获得不同存放路径下XML文件的方法

  1. 类名.class.getResourceAsStream("xxx"):拿到同包下的文件
  2. 类名.class.getResourceAsStream("/xxx"):拿到根目录下的文件
  3. 类名.getResourceAsStream("/WIN-INF/xxx"):拿到WIN-INF安全路径

dome4j常用方法

selectNodes:拿到多个元素

selectSingleNode:拿到单个元素

getRootElement():拿到根元素

attributeValue:只有元素才可以点出这个方法来获取值

getText:拿到元素文本

xpath语法

/:定位路径

@:属性

解析案例

创建xml文件config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE config[<!ELEMENT config (action*)><!ELEMENT action (forward*)><!ELEMENT forward EMPTY><!ATTLIST actionpath CDATA #REQUIREDtype CDATA #REQUIRED><!ATTLIST forwardname CDATA #REQUIREDpath CDATA #REQUIREDredirect (true|false) "false">
]>
<config><action path="/studentAction" type="org.lisen.mvc.action.StudentAction"><forward name="students" path="/students/studentList.jsp" redirect="false"/></action><action path="/studentAction02" type="org.lisen.mvc.action.StudentAction"><forward name="students02" path="/students/studentList.jsp" redirect="false"/></action>
</config>

 编写执行代码

public class XmlReader {public static void main(String[] args) throws Exception {InputStream in = XmlReader.class.getResourceAsStream("/config.xml");SAXReader reader = new SAXReader();Document doc = reader.read(in);Element rootElement = doc.getRootElement();List<Element> 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<Element> 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("已结束解析");}}
}

XML配置文件的读取相关推荐

  1. java加载xml配置文件_java读取配置文件的几种方法

    原标题:java读取配置文件的几种方法 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是spring ...

  2. 工厂 调用Unity Application Block 通过XML配置文件映射读取数据层方法

    1.首先创建FactoryApplication.cs应用程序文件继承HttpApplication 导入using System.Web.Security;     using System.Con ...

  3. C#中读写Xml配置文件常用方法工具类

    场景 有时需要使用配置文件保存一些配置的属性,使其在下次打开时设置仍然生效. 这里以对xml配置文件的读写为例. 1.读取XML配置文. 2.写入XML配置文件. 3.匹配 XPath 表达式的第一个 ...

  4. Winform中实现读取xml配置文件并动态配置DevExpress的RadioGroup的选项

    场景 Winform中对DevExpress的RadioGroup进行数据源绑定,即通过代码添加选项: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/articl ...

  5. Winform中自定义xml配置文件后对节点进行读取与写入

    场景 Winform中自定义xml配置文件,并配置获取文件路径: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100522648 ...

  6. Flex读取XML配置文件

    在Flex中我们经常使用xml文件,因为Flex支持强大的E4X功能,读取xml相当简洁.总结一下常用的Flex读取XML配置文件的方法: 1.使用Model标签形式 首先声明Model标签, < ...

  7. Unity3d读取XML配置文件

    为什么80%的码农都做不了架构师?>>>    读取配置文件的代码如下 string path = Application.dataPath + @"/Resources/ ...

  8. Spring读取xml配置文件的原理与实现

    2019独角兽企业重金招聘Python工程师标准>>> Spring读取xml配置文件的原理与实现 本篇博文的目录: 一:前言 二:spring的配置文件 三:依赖的第三方库.使用技 ...

  9. delta3d中,读取自己的xml配置文件。

    最近,项目组让搞一个读取xml配置文件的数据库连接信息的功能. 一开始准备使用tinyxml,或者rapidxml.没注意delta3d的读取xml信息的类. 后来发现,delta3d中读取xml的类 ...

  10. springboot读取xml配置文件

    xml文件内容 在src/main/resources下面添加<operator-config.xml>文件,文件内容如下: <?xml version="1.0" ...

最新文章

  1. 【云炬大学生创业基础笔记】第1章第4节 为什么需要创业测试
  2. android--系统jar包引用
  3. 阿里高级技术专家:整洁的应用架构“长”什么样?
  4. matlab cam orbit,Matlab的绘图函数
  5. onvif学习笔记8:最近写的一个ONVIF客户端的心得小结
  6. HBase优化案例分析:Facebook Messages系统问题与解决方案
  7. 在Eclipse下出现dobbo索引错误,解决方案
  8. 收到群硕的offer了
  9. geohash redis mysql_Redis geohash 地理位置存储
  10. STM32红外串口接收
  11. html的九宫格构图教学视频,构图的基本技巧之九宫格构图
  12. 关于Linux UDP/TCP reuseport 二三事
  13. linux安装英伟达显卡驱动
  14. 六大重要策略与技巧,让我们更有效在领英(LinkedIn)开展线上营销
  15. 如何查看Windows 桌面壁纸的位置
  16. birthday中文是什么_ffappybirthday翻译
  17. 支付宝企业付款PHP版本(转账到支付宝账户)
  18. html 93c,对93c46编程
  19. Three.js快速入门
  20. android手机扇区数据读写,磁盘、SD卡、移动磁盘物理扇区读写

热门文章

  1. 重新认识caniuse
  2. 哒螨灵使用注意事项_哒螨灵的基础知识
  3. c语言1076素数,九度OJ 1076:N的阶乘 题解
  4. 关于ArcGIS新建Person Geodatabase(.mdb)报错的问题
  5. 中国未来经济发展方向,共享经济大势所趋
  6. 【pandas】变形(长宽表变换)
  7. Spring @Transactional注解出错:CglibAopProxy - Unable to apply any optimisations to advised method
  8. [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解 TI协议栈下载
  9. BLE设备地址类型笔记
  10. RabbitMQ, Kafka和Pulsar (一)