dom4j解析xml文件简单版
1. 获取xml信息
/** * 获取xml信息 * @param filename 文件相对路径 */ public static Document load(String filename) { Document document = null; try { SAXReader saxReader = new SAXReader(); //使用spring的文件读取方法:org.springframework.core.io.Resource Resource resource = new ClassPathResource(filename); document = saxReader.read(resource.getFile()); // 读取XML文件,获得document对象 } catch (Exception ex) { ex.printStackTrace(); } return document; }
reader的read方法是重载的,可以从InputStream, File, Url等多种不同的源来读取。得到的Document对象就代表了整个XML。
读取的字符编码是按照XML文件头定义的编码来转换。如果遇到乱码问题,注意要把各处的编码名称保持一致即可
获取根节点
root元素是xml文档的根节点。一切XML分析都是从Root元素开始的
#获取xml文档 Document document = load("conf/test.xml"); #获取xml的根节点 Element root = document.getRootElement();
2. 常用到的方法
#获得根元素下的所有子节点。 List<Element> elementList=root.elements(); #获得element节点的名字 String elementName=element.getName(); #获得element节点的文本节点值 String elementValue=element.getText(); #获得element节点的属性 Attribute attribute=element.attribute(); #获得属性值 String attrValue=element.attributeValue("attrName");
3. xml遍历
xml节点的遍历有如下方式:
//方式一: 枚举所有子节点 for ( Iterator i = root.elementIterator(); i.hasNext(); ) { Element element = (Element) i.next(); //TODO 获取相关节点信息和操作 } //方式二: 枚举名称为foo的节点 for ( Iterator i = root.elementIterator(foo); i.hasNext();) { Element foo = (Element) i.next(); //TODO 获取相关节点信息和操作 } //方式三 枚举属性 for ( Iterator i = root.attributeIterator(); i.hasNext(); ) { Attribute attribute = (Attribute) i.next(); //TODO 获取相关节点信息和操作 } //方式四: 循环遍历子节点 List<Element> elementList=root.elements(); for(int i=0;i<elementList.size(); i++){ Element element = (Element) elementList.get(i); //TODO 获取相关节点信息和操作 //子节点遍历 List elementRoot = element.elements(); //判断是否存在子节点 if(null!=elementRoot && elementRoot.size()>0){ //递归调用此方法 //TODO 相关操作 } }
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
log4j日志文件配置
log4j已经停止更新了,官方建议升级到log4j2版本。但是如果你没有使用异步输出日志的话,其实提升不大。 添加maven依赖 <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!--log4j扩展工具,非必须--> <dependency> <groupId>log4j</groupId> <artifactId>apache-log4j-extras</artifactId> <version>1.2.17</version> </dependency> log4j.properties配置文件配置示例 INFO级别的配置 log4j.rootLogger = INFO, CONSOLE, I, E ### 输出...
- 下一篇
源码分析ElasticJob选主实现原理
ElasticJob各分布式调度服务器有两个角色:主服务器、从服务器。这里主从服务器与数据库的主从同步不一样,也不是传统意义上的主备,从执行调度任务这一视角来看ElasticJob主从服务器的地位是相同的,都是任务调度执行服务器(彼此之间共同组成一个集群平等的执行分配给自己的数据执行调度任务),主从服务器共同构成任务调度的分片节点。ElasticJob的主服务器的职责是根据当前存活的任务调度服务器生成分片信息,然后拉取属于该分片的任务数据执行任务。为了避免分片信息的不统一,ElasticJob必须从所有的调度服务器中选择一台为主服务器,由该台服务器统一计算分片信息,其他服务根据该分片信息进行任务调度。ElasticJob选主实现由LeaderService实现,从上文可知,在Job调度服务器的启动流程中:ListenerManager#startAllListeners 方法首先会启动ElectionListenerManager(主节点选举监听管理器),然后调用LeaderService.electLeader方法执行选主过程(SchedulerFacade#registerStar...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7