dom4j中对xml的查增

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>

时间: 2024-10-14 10:35:21

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

IOS开发中使用CNContact对通讯录增删改查

IOS开发中使用CNContact对通讯录增删改查 首先当然是把CNcontact包含在工程中: 1 @import Contacts; 1.下面是增加联系人的程序段: 1 CNMutableContact * contact = [[CNMutableContact alloc]init]; 2 contact.imageData = UIImagePNGRepresentation([UIImage imageNamed:@"22"]); 3 //设置名字 4 contact.gi

Swift中FDMB的使用(增、删、改、查)

直接上代码: import UIKit class ZWDBManager: NSObject { //前提将FMDBDatabase的头文件加入到桥接文件中 var dataBase:FMDatabase? var lock:NSLock? //创建单例 class func shareInstance()->ZWDBManager{ struct qzSingle{ static var predicate:dispatch_once_t = 0; static var instance:Z

【Mysql】Java中对Mysql数据库的增删改查、Java的System类

这部分也是所谓JDBC.网站数据源的内容,把名字弄得很高深似得,实际上只是Java中对Mysql数据库的增删改查的内容.非常简单,之前写了这么多Mysql的内容,没好好总结一下,实在是不应该.今天就实现一个Java中对Mysql数据库的增删改查,随便带点Java取出当前系统的系统名与系统时间的知识,完成一个还算有点意思的小例子. 一.基本目标 首先,在Mysql数据库中有一张名为testtable的空表,id为自增列,username,class都是文本列,但是class里面都存放数字,也就是整

使用dom4j操作xml文件的增删改

package day2.domx; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter;

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

一.“中文问题没商量”之Dom4j中的编码问题  本文主要讲述的是Dom4j在把Document保存到文件过程中出现的一个中文问题,本文跟<80前>一文一样,以Spring项目无关,请“春迷”们自重.没事勿扰,文中不足之处欢迎大家批评指教. Dom4j是一个比较优秀的java开源xml解析项目,支持DOM, SAX and JAXP.,并提供对XPath查询语言的强大支持.因此,在EasyJF团队的很多开源项目中,如EasyJWeb.EasyDBO等都是使用Dom4j来处理xml文件相关操作.

Java中对xml的解析

Java中对xml的解析 1.Dom4j Dom解析原理:xml解析器一次性将xml文档加载到内存中,然后在内存中构建一颗Document对象树.在通过Document对象得到树上的节点对象,通过节点对象操作文档内容. Dom4J 常用的对象: SAXReader:读取 xml 文件到 Document 树结构文件对象 Document:是一个 xml 文档对象树,类比 Html 文档对象. Element:元素节点.通过 Document 对象可以查找单个元素 使用步骤: ( 导入 Dom4J

Java中解析XML的四种方法

XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transform

XML编程总结(四)——使用dom4j方式操作xml

(四)使用dom4j方式操作xml dom4j是解析XML的一种开源API,是jdom的升级品,用来读写XML文档.它具有性能优异.功能强大和极易使用的特点,它的性能超过sun公司官方的dom技术.dom4j对Xpath有良好的支持(使用xpath时需要导入jaxen的jar包),dom4j最大的特色使用大量的接口.使用dom4j时需要导入dom4j-xxx.jar包. Attribute ——Attribute定义了XML的属性 Branch ——Branch为能够包含子节点的节点如XML元素

MVC创建XML,并实现增删改

如果创建如下的XML: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <Students> <Student Id="1"> <Name>darren</Name> </Student> </Students> 创建XML文件 在HomeController中,在根目录下创建ne