- 浏览: 1493181 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (460)
- java (148)
- javascript (34)
- Flex文章 (4)
- css+div (2)
- ajax (6)
- extjs (11)
- 人生感悟 (9)
- struts2.0 (6)
- IT之路,生活 (15)
- hibernate (6)
- struts1 (1)
- spring (5)
- j2ee错误 (3)
- Dwr (5)
- Linux (33)
- C++ (3)
- SWT Win32 (2)
- EJB (1)
- JPA (4)
- C语言和LinuxC (7)
- SQL (13)
- 项目经理 (6)
- db2 (2)
- java数据结构 (2)
- 网页播放器flv (1)
- 数据库 (24)
- 用户体验设计学习 (2)
- 网络电话 (5)
- 军事理论 (4)
- android (3)
- oracle (18)
- oracle ebs form (11)
- oracle ebs oaf (4)
- erp (20)
- DBA (9)
- java中URL 的编码和解码函数 (1)
- 铁血丹心 (1)
- excel 单元格格式不能立即生效 (1)
- Java调用bat文件 (1)
- 如何把本地outlook中的邮件上传到网络邮箱中 (1)
- java 报表 打印 (1)
- 创建dblink (1)
- 图标前台框架 (1)
- vnc (1)
- FORM (1)
- MYSQL (1)
最新评论
-
July01:
推荐用StratoIO打印控件,支持网页、URL、图片、PD、 ...
web打印不显示页眉页脚 -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
Javascript网页打印大全 -
hardyer:
大哥写的很实在,受教了,提前祝你元旦快乐!
黎活明给程序员的忠告 -
cxysilahi:
请问WIN7 64位,调用报错Exception in thr ...
JNative的初步使用 -
action1949:
好东西,解决问题
JFreeChart乱码解决方法
message.xml文件位于src目录下的xmldom包中
1.message.xml文件:
Java代码
- <?xml version="1.0" encoding="UTF-8"?>
- <root>
- <person id="1">
- <username>admin</username>
- <password>password1</password>
- </person>
- <person id="2">
- <username>manager</username>
- <password>password2</password>
- </person>
- </root>
<?xml version="1.0" encoding="UTF-8"?> <root> <person id="1"> <username>admin</username> <password>password1</password> </person> <person id="2"> <username>manager</username> <password>password2</password> </person> </root>
2.查询数据
Java代码
- package xmldom;
- import java.io.*;
- import java.util.*;
- import org.jdom.*;
- import org.jdom.input.SAXBuilder;
- import org.jdom.output.XMLOutputter;
- /**
- * xml的增删改查之SAXBuilder
- *
- * @author Administrator
- *
- */
- public class XmlTest {
- // 查询所有的数据
- public static void list() throws JDOMException, IOException {
- SAXBuilder builder = new SAXBuilder();
- String xmlPath = "./src/xmldom/message.xml";
- //String xmlPath = "./WebRoot/xml/message.xml";
- // 获得文档对象
- Document document = builder.build(xmlPath);
- // 获得根节点
- Element root = document.getRootElement();
- List list = root.getChildren();
- System.out.println("root : " + root);
- System.out.println("root.getName : "+root.getName());
- System.out.println("listSize : "+list.size());
- Iterator it = list.iterator();
- while (it.hasNext()) {
- Element e = (Element) it.next();
- System.out.println("ID: " + e.getAttributeValue("id"));
- System.out.println("childUsername:"+e.getChildText("username"));
- System.out.println("childPassword:"+e.getChildText("password"));
- }
- //for(int i=0;i<list.size();i++){
- // Element e = (Element)list.get(i);
- // ...
- //}
- }
- public static void main(String[] args) {
- try {
- XmlTest.list();
- } catch (JDOMException e1) {
- e1.printStackTrace();
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- }
- }
package xmldom; import java.io.*; import java.util.*; import org.jdom.*; import org.jdom.input.SAXBuilder; import org.jdom.output.XMLOutputter; /** * xml的增删改查之SAXBuilder * * @author Administrator * */ public class XmlTest { // 查询所有的数据 public static void list() throws JDOMException, IOException { SAXBuilder builder = new SAXBuilder(); String xmlPath = "./src/xmldom/message.xml"; //String xmlPath = "./WebRoot/xml/message.xml"; // 获得文档对象 Document document = builder.build(xmlPath); // 获得根节点 Element root = document.getRootElement(); List list = root.getChildren(); System.out.println("root : " + root); System.out.println("root.getName : "+root.getName()); System.out.println("listSize : "+list.size()); Iterator it = list.iterator(); while (it.hasNext()) { Element e = (Element) it.next(); System.out.println("ID: " + e.getAttributeValue("id")); System.out.println("childUsername:"+e.getChildText("username")); System.out.println("childPassword:"+e.getChildText("password")); } //for(int i=0;i<list.size();i++){ // Element e = (Element)list.get(i); // ... //} } public static void main(String[] args) { try { XmlTest.list(); } catch (JDOMException e1) { e1.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } } }
结果:
Java代码
- root : [Element: <root/>]
- root.getName : root
- listSize : 2
- ID: 1
- childUsername:admin
- childPassword:password1
- ID: 2
- childUsername:manager
- childPassword:password2
root : [Element: <root/>] root.getName : root listSize : 2 ID: 1 childUsername:admin childPassword:password1 ID: 2 childUsername:manager childPassword:password2
3.在原有的xml文件中增加数据
Java代码
- public static void add() throws JDOMException, FileNotFoundException,IOException {
- SAXBuilder builder = new SAXBuilder();
- String xmlPath = "./src/xmldom/message.xml";
- Document document = builder.build(xmlPath);
- //获得根节点
- Element root = document.getRootElement();
- //创建节点person
- Element element = new Element("person");
- //给person节点添加属性id
- element.setAttribute("id", "3");
- //给person节点添加子节点并赋值
- element.addContent(new Element("username").setText("hello"));
- element.addContent(new Element("password").setText("woerld"));
- //给父节点添加person子节点
- root.addContent(element);
- XMLOutputter output = new XMLOutputter();
- output.output(document, new FileOutputStream(xmlPath));
- }
public static void add() throws JDOMException, FileNotFoundException,IOException { SAXBuilder builder = new SAXBuilder(); String xmlPath = "./src/xmldom/message.xml"; Document document = builder.build(xmlPath); //获得根节点 Element root = document.getRootElement(); //创建节点person Element element = new Element("person"); //给person节点添加属性id element.setAttribute("id", "3"); //给person节点添加子节点并赋值 element.addContent(new Element("username").setText("hello")); element.addContent(new Element("password").setText("woerld")); //给父节点添加person子节点 root.addContent(element); XMLOutputter output = new XMLOutputter(); output.output(document, new FileOutputStream(xmlPath)); }
测试:
Java代码
- XmlTest.add();
XmlTest.add();
结果生成新的xml文件:
Java代码
- <?xml version="1.0" encoding="UTF-8"?>
- <root>
- <person id="1">
- <username>admin</username>
- <password>password1</password>
- </person>
- <person id="2">
- <username>manager</username>
- <password>password2</password>
- </person>
- <person id="3">
- <username>hello</username>
- <password>woerld</password>
- </person>
- </root>
<?xml version="1.0" encoding="UTF-8"?> <root> <person id="1"> <username>admin</username> <password>password1</password> </person> <person id="2"> <username>manager</username> <password>password2</password> </person> <person id="3"> <username>hello</username> <password>woerld</password> </person> </root>
4.修改xml中数据
a.修改前xml文件:
Java代码
- <?xml version="1.0" encoding="UTF-8"?>
- <root>
- <person id="1">
- <username ip="1111111">admin</username>
- <password>admin</password>
- </person>
- <person id="2">
- <username>manager</username>
- <password>password2</password>
- </person>
- <person id="3">
- <username>hello</username>
- <password>woerld</password>
- </person>
- </root>
<?xml version="1.0" encoding="UTF-8"?> <root> <person id="1"> <username ip="1111111">admin</username> <password>admin</password> </person> <person id="2"> <username>manager</username> <password>password2</password> </person> <person id="3"> <username>hello</username> <password>woerld</password> </person> </root>
b.调用方法:
Java代码
- public static void edit(int id) throws JDOMException,
- FileNotFoundException, IOException {
- SAXBuilder builder = new SAXBuilder();
- Document document = builder.build("./src/xmldom/message.xml");
- Element root = document.getRootElement();
- List list = root.getChildren();
- Iterator it = list.iterator();
- for (int i = 0; i < list.size(); i++) {
- Element e = (Element) it.next();
- System.out.println("==============" + e.getAttributeValue("id"));
- if (Integer.parseInt(e.getAttributeValue("id")) == id) {
- e.getChild("username").setText("xiaoma");
- e.getChild("username").setAttribute("ip", "66666666666");
- e.getChild("password").setText("xiaoma");
- }
- }
- XMLOutputter output = new XMLOutputter();
- output.output(document,
- new FileOutputStream("./src/xmldom/message.xml"));
- }
public static void edit(int id) throws JDOMException, FileNotFoundException, IOException { SAXBuilder builder = new SAXBuilder(); Document document = builder.build("./src/xmldom/message.xml"); Element root = document.getRootElement(); List list = root.getChildren(); Iterator it = list.iterator(); for (int i = 0; i < list.size(); i++) { Element e = (Element) it.next(); System.out.println("==============" + e.getAttributeValue("id")); if (Integer.parseInt(e.getAttributeValue("id")) == id) { e.getChild("username").setText("xiaoma"); e.getChild("username").setAttribute("ip", "66666666666"); e.getChild("password").setText("xiaoma"); } } XMLOutputter output = new XMLOutputter(); output.output(document, new FileOutputStream("./src/xmldom/message.xml")); }
c.测试:
Java代码
- XmlTest.edit(1);
XmlTest.edit(1);
d.执行后的xml文件:
Java代码
- <?xml version="1.0" encoding="UTF-8"?>
- <root>
- <person id="1">
- <username ip="66666666666">xiaoma</username>
- <password>xiaoma</password>
- </person>
- <person id="2">
- <username>manager</username>
- <password>password2</password>
- </person>
- <person id="3">
- <username>hello</username>
- <password>woerld</password>
- </person>
- </root>
<?xml version="1.0" encoding="UTF-8"?> <root> <person id="1"> <username ip="66666666666">xiaoma</username> <password>xiaoma</password> </person> <person id="2"> <username>manager</username> <password>password2</password> </person> <person id="3"> <username>hello</username> <password>woerld</password> </person> </root>
5.删除xml中记录
a.删除前xml文件如上
b.执行方法:
Java代码
- public static void del(int id) throws JDOMException, FileNotFoundException,
- IOException {
- SAXBuilder builder = new SAXBuilder();
- Document document = builder.build("./src/xmldom/message.xml");
- Element root = document.getRootElement();
- List list = root.getChildren();
- Iterator it = list.iterator();
- for (int i = 0; i < list.size(); i++) {
- Element e = (Element) it.next();
- if (Integer.parseInt(e.getAttributeValue("id")) == id) {
- root.removeContent(e);
- break;
- }
- }
- // 文件处理
- XMLOutputter out = new XMLOutputter();
- out.output(document, new FileOutputStream("./src/xmldom/message.xml"));
- }
public static void del(int id) throws JDOMException, FileNotFoundException, IOException { SAXBuilder builder = new SAXBuilder(); Document document = builder.build("./src/xmldom/message.xml"); Element root = document.getRootElement(); List list = root.getChildren(); Iterator it = list.iterator(); for (int i = 0; i < list.size(); i++) { Element e = (Element) it.next(); if (Integer.parseInt(e.getAttributeValue("id")) == id) { root.removeContent(e); break; } } // 文件处理 XMLOutputter out = new XMLOutputter(); out.output(document, new FileOutputStream("./src/xmldom/message.xml")); }
c.测试:
Java代码
- XmlTest.del(3);
XmlTest.del(3);
d.执行后xml文件:
Java代码
- <?xml version="1.0" encoding="UTF-8"?>
- <root>
- <person id="1">
- <username ip="66666666666">xiaoma</username>
- <password>xiaoma</password>
- </person>
- <person id="2">
- <username>manager</username>
- <password>password2</password>
- </person>
- </root>
发表评论
-
Oracle Developer10G 安装
2020-09-09 18:03 394oracle 客户端也要删除,以前的oracle产品 ... -
打开Eclipse时出现"The Eclipse executable launcher was unable to locate its companion
2018-06-05 15:06 9816打开Eclipse时出现"The Eclipse ... -
J2EE通过tomcat部署的两种方式
2017-09-12 09:01 704转载:http://blog.csdn.net/psp000 ... -
Linux安装Tomcat7
2016-03-30 15:01 908http://blog.sina.com.cn/s/blog ... -
java支持跨平台获取cpuid、主板id、硬盘id、mac地址 (兼容windows、Linux)(转)
2015-11-17 22:10 1653http://blog.csdn.net/flyingclo ... -
栋哥涕啐茆
2015-10-27 10:49 794栋哥涕啐茆 -
Eclipse快捷键 10个最有用的快捷键
2015-10-27 10:18 824Eclipse中10个最有用的快捷键组合 一个Eclip ... -
java上传头像图像剪切
2015-04-02 20:19 1207java上传头像图像剪切 JQUERY 图片上传裁切 -
创建dblink
2014-12-11 20:01 717CREATE public database link ... -
Bitnami Redmine 安装笔记
2014-12-10 11:28 1685http://atian25.iteye.com/blog/ ... -
利用workflow发送类似数据报表内容的通知页面
2014-11-21 15:03 849利用workflow发送类似数据报表内容的通知页面 ... -
excel科学技术法问题
2014-11-12 13:50 8701.使用导入外部数据的方法2.并且在第三步的时候选择文本,需要 ... -
java.lang.IllegalAccessError
2014-09-29 11:05 1211java.lang.IllegalAccessError: ... -
java如何获取文件编码格式
2014-04-11 11:28 102771:简单判断是UTF-8或不是UTF-8,因为一般除了UTF ... -
JAVA中使用FTPClient上传下载
2013-12-08 13:35 1956方法一:这种方法网上有许多 可以用下面的方式,但是支持批量 ... -
在Java中获取环境变量
2013-11-11 11:18 1476package cy.cn.test; import ... -
ORACLE性能调整笔记
2013-11-05 18:39 0一 关于statspack中等待事件的一些解释 ... -
EBS DBA指南笔记1
2013-11-05 18:35 1942时光飞逝,不从事EBS DBA转眼已有两年多。很还念那段学习 ... -
用html代码在word中插入分页符和页面设置
2013-11-05 17:11 5375<span lang=EN-US style=&quo ... -
OpenJWeb新增二维码图片生成功能
2013-11-05 09:02 1315在开发进销存软件的时 ...
相关推荐
XML(eXtensible Markup...以上就是利用JDOM库在Java中实现XML增删改查的基本步骤。在实际应用中,可能还需要处理更复杂的XML结构和错误处理。JDOM库提供了丰富的API,可以帮助开发者高效地处理XML文档,满足各种需求。
本篇文章将详细探讨Java对XML文档进行增删改查的多种方法。 1. **解析XML文档** 在Java中,解析XML主要有DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)三种方式。 ...
在"完整的jdom增删改查"这个主题中,我们将深入探讨如何使用JDOM来执行XML文档的基本操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete),这通常被称为CRUD操作。 1. 创建(Create): 创建...
在本文中,我们将深入探讨JDOM的核心概念、如何进行XML的增删改查操作以及相关的最佳实践。 ### 一、JDOM的基本概念 1. **Document**: XML文档的根节点,代表整个XML结构。 2. **Element**: XML文档中的元素,可以...
**JDOM 操作 XML 文档详解** XML (eXtensible Markup Language) 是一种用于标记数据的语言,广泛应用于数据交换、配置文件等场景。而 JDOM(Java Document Object Model)是一个专门为 Java 设计的 XML 处理库,它...
2. **操作XML**:对`Document`对象进行增删改查,比如修改`Element`的属性,添加子元素等。 3. **输出XML**:使用`XMLOutputter`类将`Document`对象转换回XML字符串或写入文件。 JDOM还支持XPath表达式,允许开发者...
2. **操作XML**: 通过`Element`、`Attribute`等类对`Document`进行增删改查操作。 3. **序列化XML**: 将修改后的`Document`对象转换回XML字符串,可以使用`XMLOutputter`完成此任务。 在压缩包中,`jdom-1.0`和`...
这使得我们可以方便地通过Java代码对XML文档进行增删改查。JDOM提供了两种主要的构建方式:SAXBuilder和DOMBuilder。SAXBuilder适用于大型XML文件,因为它基于事件驱动,占用内存较少;DOMBuilder则适用于小到中型的...
4. **操作XML**:通过`Document`和`Element`对象的方法进行增删改查操作。 ```java Element childElement = document.createElement("child"); rootElement.appendChild(childElement); ``` 5. **保存XML**:...
3. **操作XML**:对`Document`对象进行增删改查操作,如添加元素、修改属性值、删除元素等。 4. **保存XML文档**:最后,通过`Transformer`将`Document`对象转换回XML字符串或写入文件。 **五、JDOM API简要介绍** ...
通过这些对象,开发者可以直接对XML进行增删查改操作,如添加新的元素、修改属性值或删除特定节点。例如,你可以使用`org.jdom2.Element`类创建一个新的元素,然后使用`addContent()`方法将其添加到父元素中。 JDOM...
例如,你可以通过DOM解析器找到特定元素、属性或文本,并进行增删改查操作。在Java中,可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`来实现DOM解析。 ```java import javax.xml....
- 增删子节点: - 删除指定位置的子节点: ```java allChildren.remove(3); ``` - 删除所有指定名称的子节点: ```java allChildren.removeAll(rootElement.getChildren("jack")); ``` - 添加子节点: - ...