DOM4J对于XML的用法
Element root = document.getRootElement();
Element db_element = root.element("db");
List<Element> db_list = db_element.elements();//所有子元素
element.attributeValue("name");
element.getText();
element.elements("user");//指定名称的子元素集合
实战
<users>
<user no="2017">
<name>狗蛋</name>
<age>17</age>
</user>
<user no="2018">
<name>李狗蛋</name>
<age>19</age>
</user>
</users>
1、导入dom4j的jar包,遍历
public void test4j() throws DocumentException {
//创建解析器
SAXReader reader = new SAXReader();
org.dom4j.Document document = reader.read(new File("src/userInfo.xml"));
org.dom4j.Element root = document.getRootElement(); List<org.dom4j.Element> list = root.elements(); for(org.dom4j.Element e:list){
//获取属性值
String no = e.attributeValue("no");
String name = e.element("name").getText();
String age = e.element("age").getText(); System.out.println(no+name+age);
}
}
二、选择器使用
List<Node> list= document.selectNodes("users/user/name");
node.getName();
node.getText();
node.valuesOf("@no");
实战
public void testdom4j_xpath() throws DocumentException {
SAXReader reader = new SAXReader();
org.dom4j.Document document = reader.read(new File("src/userInfo.xml"));
List<Node> list= document.selectNodes("users/user/name");
for(Node node:list){
String qname = node.getName();
String name = node.getText();
System.out.println(qname+"--"+name);
}
List<org.dom4j.Node> list1 = document.selectNodes("users/user");
for(Node node:list1){
String no = node.valueOf("@no");
System.out.println(no);
}
}
Document document = DocumentHelper.createDocument();
Element root = document.addElement("users");
Element e = element.addElement("name");
Element e = element.setText("张三");
e.remove(element);
四、属性
Attribute attribute=element.attribute("id");
String text=attribute.getText();
Attribute attribute=root.attribute("size"); root.remove(attribute);
Element root=document.getRootElement();
for(Iterator it=root.attributeIterator();it.hasNext();){
Attribute attribute = (Attribute) it.next();
String text=attribute.getText();
System.out.println(text);
}
newMemberElm.addAttribute("name", "sitinspring");
Attribute attribute=root.attribute("name");
attribute.setText("csdn");
DOM4J对于XML的用法的更多相关文章
- 转:在java中使用dom4j解析xml
JAVA 使用Dom4j 解析XML Java DOM4J Parser - Parse XML Document Dom4j下载及使用Dom4j读写XML简介 在java中使用dom4j解析xml ...
- 使用dom4j解析XML文档
dom4j的包开源包,不属于JDK里面,在myeclipse中要单独导入在项目中,这里不累赘了 做这个过程,很慢,因为很多方法没用过不熟悉,自己得去查帮助文档,而且还得去试,因为没有中文版,英文翻译不 ...
- dom4j读写XML文档
dom4j 最常用最简单的用法(转) 要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:http:/ ...
- 使用dom4j读取xml连接数据库与之单例模式
使用dom4j读取xml ,加入jar包 dom4j-1.6.1.jar jaxen-1.1-beta-6.jar public class XmlConfigReader { //懒汉式,延迟加载 ...
- Dom4j把xml转换成Map(固定格式)
/** * 可解析list * * @param fileName * @return * @throws Exception */ @SuppressWarnings("unchecked ...
- 【dom4j xml】使用dom4j处理XML文件--测试过程遇到的问题
首先 关于dom4j的API,有如下: 当然 其中的实体引用有以下: 测试使用环境: 使用Maven搭建web环境,pom.xml文件配置如下: <project xmlns="ht ...
- java中采用dom4j解析xml文件
一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...
- Dom4j解析xml
public class Dom4jTest { // Dom4j解析xml // 因为所有的方法都需要Dom树 static Document document = null; static Ele ...
- 使用Dom4j进行XML解析
1 概述 在进行ESB集成项目中,使用到了很多系统的接口,这些接口传输的数据大部分都采用了XML的格式,这样在使用ESB开发服务时就需要对XML数据进行解析或拼接的操作,本文以项目中流程服务为例,讲 ...
随机推荐
- [转]php的public、protected、private三种访问控制模式的区别
FROM : http://blog.163.com/weiwenjuan_bj/blog/static/14035033620129304183850/?suggestedreading publi ...
- [转]IOS下如何判断机器是否越狱
转自: http://blog.csdn.net/kaizi318/article/details/9135385 关于判断iPhone是否是jailbreak机器,可参考如下代码: static c ...
- 几个常用linux命令语句
几个常用linux命令 英文原文:What are the most useful "Swiss army knife" one-liners on Unix? 下面的这些内容是 ...
- storm的一些相关文章
文章可以看这些: https://www.cnblogs.com/zhaojiankai/p/7257617.html https://blog.csdn.net/wangshuminjava/art ...
- [leetcode]Max Points on a Line @ Python
原题地址:https://oj.leetcode.com/problems/max-points-on-a-line/ 题意:Given n points on a 2D plane, find th ...
- redis调优 -- 内存碎片
最近查看了一下redis运行状况,发现公司测试服务器的redis内存不太够用,但是实际占用内存的数据量其实不大,以前也没有这种情况,之前在cache层新增了一个防刷积分任务的逻辑才会这样,搜索一下原因 ...
- Red Hat 配置ip地址
red hat 的网卡配置文件位于:/etc/sysconfig/network-scripts目录下,如ifcfg-eth0,ifcfg-eth1等等,下面进行配置: 1)DEVICE=eth0 定 ...
- vSCode打开文件老覆盖原窗口
https://segmentfault.com/q/1010000006131199?_ea=1023522 设置中搜preview,改为false
- Javascript 闭包(Closures)
本文内容 闭包 闭包和引用 参考资料 闭包是 JavaScript 的重要特性,非常强大,可用于执行复杂的计算,可并不容易理解,尤其是对之前从事面向对象编程的人来说,对 JavaScript 认识和编 ...
- 【转】Spring MVC处理静态资源
优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往 ...