package dom;

import java.io.FileWriter;
import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.junit.Test;

public class Dom4jDemo {
@Test
public void readDemo() throws Exception{
SAXReader read=new SAXReader();
Document dom=read.read("./xml/user.xml");

//获得根元素;
Element en= dom.getRootElement();
//获取里面中的子元素
Iterator<Element> it=en.elementIterator();
while(it.hasNext()){
Element eUser=it.next();
String id=eUser.attributeValue("id");//这里还可以分开得到,下面的name和age也是一样

// String id1=eUser.attribute("id").getValue();

String name=eUser.elementText("name");
String age=eUser.elementText("age");
System.out.println("id="+id+" name="+name+" age="+age);

}

}
//这里是创建一个新节点
@Test
public void creatDemo() throws Exception{
SAXReader read=new SAXReader();
Document dom=read.read("./xml/user.xml");

Element en=dom.getRootElement();

Element eUser=en.addElement("user");
eUser.addAttribute("id" , "b001");
eUser.addElement("name").addText("xiaoming");
//这里有一个小细节,这里的setText最终还是调用addText所以他们的效果是一样的
eUser.addElement("age").setText("32");

//把贴加的元素放入到文件中存储起来
XMLWriter we=new XMLWriter(new FileWriter("./xml/user.xml"));
we.write(dom);
we.close();

}
}

--------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<users>
<user id="A001">
<name>Jack</name>
<age>23</age>
</user>
<user id="A002">
<name>张三</name>
<age>22</age>
</user>
<user id="A003">
<name>Mike</name>
<age>32</age>
</user>
<user id="B001">
<name>李四</name>
<age>25</age>
</user>
<user id="b001">
<name>xiaoming</name>
<age>32</age>
</user>
</users>

dom4j中对xml的查增的更多相关文章

  1. java对xml文件做增删改查------摘录

    java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...

  2. C#程序:如何创建xml文件以及xml文件的增、删、改、查

    其实今天的这篇博文 ,是对请几天发表的博文的一个总结,只是想把xml文件的增删改查结合起来,这样更容易让初学的朋友理解,废话也不多说了,开始吧! 下面是我把我在vs环境下写的代码ctrl+V然后ctr ...

  3. 使用xml实现的增删改查功能

    实体类: package vo; public class Contact { private String id; private String name; private String gende ...

  4. kibana的Dev Tool中如何对es进行增删改查

    kinaba Dev Tool中对es(elasticSearch)进行增删改查 一.查询操作 查询语句基本语法 以下语句类似于mysql的: select * from  xxx.yyy.topic ...

  5. Java中使用DOM4J来生成xml文件和解析xml文件

    一.前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理 ...

  6. (转)Dom4j中的中文编码问题

    一.“中文问题没商量”之Dom4j中的编码问题  本文主要讲述的是Dom4j在把Document保存到文件过程中出现的一个中文问题,本文跟<80前>一文一样,以Spring项目无关,请“春 ...

  7. sql server中对xml进行操作

    一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XM ...

  8. dom4j如何解析XML文件

    最近在 一些对xml文件的操作,下面简单写一个dom4j解析xml文件并将其封装到一个javabean中的例子,只是具有针对性的,不是通用的,仅供参考哦~~ 首先说:dom4j是一个java的XML ...

  9. Java中解析XML的四种方法

    XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM ...

随机推荐

  1. !!Python字典增删操作技巧简述+Python字典嵌套字典与排序

    http://developer.51cto.com/art/201003/186006.htm Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些 ...

  2. OTG

    OTG技术就是在没有Host的情况下,实现设备间的数据传送.例如数码相机直接连接到打印机上,通过OTG技术,连接两台设备间的USB口,将拍出的相片立即打印出来:也可以将数码照相机中的数据,通过OTG发 ...

  3. MS-DOS 7.10完整安装版(含图文安装程序)

    大家知道,要想学习或使用DOS,安装一个DOS并进行实际操作是非常必要的.MS-DOS 7.10是一个非常好且强大实用的操作系统,而且兼容性和性能都十分强.要在系统中安装MS-DOS 7.10,可以使 ...

  4. jasperreports-5.6 + jaspersoftstudio-5.6 生成pdf 文件中文无法正常显示问题

    jrxml字段属性设置: <textElement> <font fontName="宋体" pdfFontName="STSong-Light&quo ...

  5. 一步一步学Remoting系列文章

    转自:http://www.cnblogs.com/lovecherry/archive/2005/05/24/161437.html (原创)一步一步学Remoting之一:从简单开始(原创)一步一 ...

  6. NET中的引用类型和值类型 zt

    .NET中的类型分为值类型和引用类型,他们在内存布局,分配,相等性,赋值,存储以及一些其他的特性上有很多不同,这些不同将会直接影响到我们应用程序 的效率.本文视图对.NET 基础类型中的值类型和引用类 ...

  7. 使用vxsim(一)

    新建download工程 选择toolchain 这里选SIMNTgnu是为了在vxsim中能下载编译的.o文件 如果是为了下载到visualbox或者vmware中的vxworks,则toolcha ...

  8. c++11 lambda递归调用写法

    偶然想到要在函数内部使用lambda递归调用,以下是可行的写法,可参考 std::function<void(Node * container,const BlendFunc &blen ...

  9. 2013华为校园招聘java实现(大家水个回复啊)

    package 乒乒乓乓; import java.util.Scanner; /* * * author:hansongjiang 分别求整数数组里面的奇数与偶数之和 问题描述:从标准输入里面接收一 ...

  10. Html笔记(九)头标签

    头标签: <head> 头标签都放在 <head> </head> 头部分之间.包括:title base meta link <title> :指定浏 ...