- 浏览: 288707 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
xisuchi:
咋没人收藏阿
前端开发大众手册(包括工具、网址、经验等) -
past2010yeah:
太好了,解决了我纠结很久的问题!!!非常感谢!
解决Flex跨域"访问URL时遇到安全性错误" -
shlei:
xiao_kai 写道这样会不会牺牲性能啊~~会,但是这是暂时 ...
解决flex4 spark 找不到外观错误 -
xiao_kai:
这样会不会牺牲性能啊~~
解决flex4 spark 找不到外观错误 -
jcl860:
兄台:左边面板是图片,还是用mxml画出来的图形?
仿IBM-BPM Editor实现的WorkFlowEditor
1. 创建XML
2. 插入XML
3. 修改XML
4. 删除XML
5. 查询XML
把这句代码直接在构造函数里贴上可以解决JDOM生成XML的换行问题。
参考:
http://zyw090111.iteye.com/blog/706850
http://xi5566.iteye.com/blog/215501
package jdom.test; import java.io.File; import java.io.FileWriter; import java.util.ArrayList; import java.util.Arrays; import org.jdom.Document; import org.jdom.Element; import org.jdom.output.Format; import org.jdom.output.XMLOutputter; public class CreateXML { public static void main(String[] args)throws Exception { //创建DOM对象 Document doc = new Document(); //创建根节点 Element rootNode = new Element("users"); //创建二级节点(id=0001) Element userNode1 = new Element("user"); //为二级节点设置属性 userNode1.setAttribute("id", "0001"); //创建三级节点(name) Element nameNode1 = new Element("name"); //为三级节点设置文本 nameNode1.addContent("张三"); //创建三级节点(name) Element sexNode1 = new Element("sex"); //为三级节点设置文本 sexNode1.addContent("男"); //创建三级节点(age) Element ageNode1 = new Element("age"); //为三级节点设置文本 ageNode1.addContent("20"); //创建二级节点(id=0001) Element userNode2 = new Element("user"); //为二级节点设置属性 userNode2.setAttribute("id", "0002"); //创建三级节点(name) Element nameNode2 = new Element("name"); //为三级节点设置文本 nameNode2.addContent("李四"); //创建三级节点(name) Element sexNode2 = new Element("sex"); //为三级节点设置文本 sexNode2.addContent("女"); //创建三级节点(age) Element ageNode2 = new Element("age"); //为三级节点设置文本 ageNode2.addContent("25"); //添加单个节点 //userNode.addContent(nameNode); //把三级节点添加到二级节点上 userNode1.addContent(new ArrayList<Element>(Arrays.asList(nameNode1,sexNode1,ageNode1))); //把三级节点添加到二级节点上 userNode2.addContent(new ArrayList<Element>(Arrays.asList(nameNode2,sexNode2,ageNode2))); //把二级节点添加到跟节点上 rootNode.addContent(userNode1); rootNode.addContent(userNode2); //把跟节点添加到DOM对象上 doc.addContent(rootNode); //创建XML输出对象(XMLOutputter) XMLOutputter xop = new XMLOutputter(); //为输出的XML定义格式 Format format = Format.getPrettyFormat(); //编码方式 format.setEncoding("GBK"); //把格式设置到输出对象中 xop.setFormat(format); File file = new File("D:\\dd"); if(!file.exists()){ file.mkdirs(); } //创建输出流 FileWriter fw = new FileWriter(file+"\\connection.xml"); //把xml输出 xop.output(doc, fw); System.out.println(xop.outputString(doc)); //关闭输出流 fw.close(); } /*<?xml version="1.0" encoding="GBK"?> <users> <user id="0001"> <name>张三</name> <sex>男</sex> <age>20</age> </user> <user id="0002"> <name>李四</name> <sex>女</sex> <age>25</age> </user> </users>*/ }
2. 插入XML
package jdom.test; import java.io.File; import java.io.FileWriter; import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; import org.jdom.output.Format; import org.jdom.output.XMLOutputter; public class InsertXML { @SuppressWarnings("unchecked") public static void main(String[] args)throws Exception { //创建XML解析器 SAXBuilder builder = new SAXBuilder(false); //创建DOM对象 Document doc = builder.build("D:\\dd\\connection.xml"); //获得跟节点 Element rootNode = doc.getRootElement(); //获得根节点下的所有子节点 List<Element> elements = rootNode.getChildren("user"); Element zsElement = null; //遍历所有子节点判断要查找的节点是否存在 for(Element e : elements){ if(e.getAttributeValue("id").equals("0003")){ zsElement = e; break; } } if(zsElement!=null){ Element pwdNode = new Element("pwd"); pwdNode.addContent("000000"); //追加(插入到末尾) zsElement.addContent(pwdNode); //插入到指定位置 zsElement.addContent(0, pwdNode); //创建XML输出对象(XMLOutputter) XMLOutputter xop = new XMLOutputter(); //为输出的XML定义格式 Format format = Format.getPrettyFormat(); //编码方式 format.setEncoding("GBK"); //把格式设置到输出对象中 xop.setFormat(format); File file = new File("D:\\dd"); if(!file.exists()){ file.mkdirs(); } //创建输出流 FileWriter fw = new FileWriter(file+"\\connection.xml"); //把xml输出 xop.output(doc,fw); //关闭输出流 fw.close(); } } }
3. 修改XML
package jdom.test; import java.io.File; import java.io.FileWriter; import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; import org.jdom.output.Format; import org.jdom.output.XMLOutputter; /** * 修改张三的信息 */ public class UpdateXML { @SuppressWarnings("unchecked") public static void main(String[] args)throws Exception { //创建XML解析器 SAXBuilder builder = new SAXBuilder(false); //创建DOM对象 Document doc = builder.build("D:\\dd\\connection.xml"); //获得跟节点 Element rootNode = doc.getRootElement(); //获得根节点下的所有子节点 List<Element> elements = rootNode.getChildren("user"); Element zsElement = null; //遍历所有子节点判断要查找的节点是否存在 for(Element e : elements){ if(e.getAttributeValue("id").equals("0001")){ zsElement = e; break; } } if(zsElement!=null){ //修改内容 //先移除 zsElement.getChild("name").removeContent(); //在添加 zsElement.getChild("name").addContent("王五"); //修改属性 zsElement.removeAttribute("id"); zsElement.setAttribute("id","0003"); //创建XML输出对象(XMLOutputter) XMLOutputter xop = new XMLOutputter(); //为输出的XML定义格式 Format format = Format.getPrettyFormat(); //编码方式 format.setEncoding("GBK"); //把格式设置到输出对象中 xop.setFormat(format); File file = new File("D:\\dd"); if(!file.exists()){ file.mkdirs(); } //创建输出流 FileWriter fw = new FileWriter(file+"\\connection.xml"); //把xml输出 xop.output(doc,fw); //关闭输出流 fw.close(); } /* <?xml version="1.0" encoding="GBK"?> <users> <user id="0003"> <name>王五</name> <sex>男</sex> <age>20</age> </user> <user id="0002"> <name>李四</name> <sex>女</sex> <age>25</age> </user> </users> */ } }
4. 删除XML
package jdom.test; import java.io.File; import java.io.FileWriter; import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; import org.jdom.output.Format; import org.jdom.output.XMLOutputter; public class DeleteXML { @SuppressWarnings("unchecked") public static void main(String[] args)throws Exception { //创建XML解析器 SAXBuilder builder = new SAXBuilder(false); //创建DOM对象 Document doc = builder.build("D:\\dd\\connection.xml"); //获得跟节点 Element rootNode = doc.getRootElement(); //获得根节点下的所有子节点 List<Element> elements = rootNode.getChildren("user"); Element zsElement = null; //遍历所有子节点判断要查找的节点是否存在 for(Element e : elements){ if(e.getAttributeValue("id").equals("0001")){ zsElement = e; break; } } if(zsElement!=null){ //删除某个节点下节点名是name的第一个子节点 zsElement.removeChild("name"); //删除某个节点下节点名是name的所有子节点 //zsElement.removeChildren("name"); //删除属性名称是id的属性 //zsElement.removeAttribute("id"); //删除该节点下的所有内容 //zsElement.removeContent(); //创建XML输出对象(XMLOutputter) XMLOutputter xop = new XMLOutputter(); //为输出的XML定义格式 Format format = Format.getPrettyFormat(); //编码方式 format.setEncoding("GBK"); //把格式设置到输出对象中 xop.setFormat(format); File file = new File("D:\\dd"); if(!file.exists()){ file.mkdirs(); } //创建输出流 FileWriter fw = new FileWriter(file+"\\connection.xml"); //把xml输出 xop.output(doc,fw); //关闭输出流 fw.close(); } } }
5. 查询XML
package jdom.test; import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; public class SelectXML { @SuppressWarnings("unchecked") public static void main(String[] args)throws Exception { //创建XML解析器 SAXBuilder builder = new SAXBuilder(false); //创建DOM对象 Document doc = builder.build("D:\\dd\\connection.xml"); //获得跟节点 Element rootNode = doc.getRootElement(); //获得根节点下的所有子节点 List<Element> elements = rootNode.getChildren("user"); Element zsElement = null; //遍历所有子节点判断要查找的节点是否存在 for(Element e : elements){ if(e.getAttributeValue("id").equals("0003")){ zsElement = e; break; } } if(zsElement!=null){ //获得属性 String id = zsElement.getAttributeValue("id"); //获得子节点的值 String name = zsElement.getChildText("name"); System.out.println(id); System.out.println(name); } } }
XMLOutputter XMLOut = new XMLOutputter(" ", true);
把这句代码直接在构造函数里贴上可以解决JDOM生成XML的换行问题。
参考:
http://zyw090111.iteye.com/blog/706850
http://xi5566.iteye.com/blog/215501
- JdomTest.rar (154.2 KB)
- 下载次数: 3
发表评论
-
windows 7下解压缩版tomcat7配置方法
2011-06-23 11:10 3220tomcat7下载地址:http://tomcat.apach ... -
文件输入输出I/O
2011-03-14 16:07 1293File主要用于在磁盘上读写文件 1、在程序中,用File和 ... -
递归算法
2011-03-14 16:06 984用递归实现文件目录列表: File dir = new Fi ... -
Address already in use: JVM_Bind<null>:80 解决方案
2010-12-29 11:55 1433咱还是闲话少说,直接切入正题。 起因: 一直用Tomcat ... -
使用JDom从Java后台给Flex前端传递xml数据
2010-12-28 16:14 1599在Java作为服务器时候在给前端传递数据的时候可能会遇到xml ... -
四种操作xml的方式: SAX, DOM, JDOM , DOM4J的比较
2010-12-28 14:49 9771. 介绍 1)DOM(JAXP Crimson ... -
JAVA 读取xml文件
2010-12-23 14:45 1219import java.io.FileInputStream; ... -
利用Eclipse编辑中文资源文件
2010-12-06 17:05 985既然生为中国人,就没 ... -
Eclipse/FlashBuilder的快捷键冲突 Ctrl+alt+上下左右箭头
2010-11-18 15:19 2929首先如果快捷键不好用估计是有2个原因: 1. 快捷键被修改 ... -
flex的hibernate(延迟加载)解决方案
2010-11-18 13:37 1768最近在搞flex+java,用了spring和hiber ... -
解决MyEclipse7.0 中文版Unmatched braces in the pattern
2010-11-18 10:11 1488今天在MyEclipse 7.0-M2下查看class文件的时 ...
相关推荐
本篇文章将深入探讨如何使用JDOM解析XML文件。 首先,我们需要理解JDOM的基本结构。JDOM通过Document对象表示整个XML文档,Element代表XML元素,Attribute表示元素属性,Text表示元素内的文本内容。这些类构成了...
Java 使用 JDOM 解析 XML 文件 Java 是一种广泛使用的程序设计语言,而 XML 是一种广泛使用的标记语言,用于存储和传输数据。在 Java 中,解析 XML 文件是一件常见的任务,而 JDOM 是一个流行的开源库,用于解析和...
1. `JDOMUtil.java`:这是一个Java类,包含了使用JDOM解析XML的主要代码。在这个例子中,我们将学习如何读取XML文件,创建一个`SAXBuilder`对象来构建XML文档的DOM(文档对象模型)表示,然后通过`Document`对象来...
在这个教程中,我们将深入探讨如何在JSP(JavaServer Pages)环境中使用JDOM解析XML。 **1. JDOM基本概念** JDOM的核心在于两个主要类:`Element`和`Document`。`Element`代表XML文档中的一个节点,而`Document`则...
在这个例子中,我们将深入探讨如何使用JDOM解析XML文件,并进行遍历与构建。 首先,我们需要了解JDOM的基本概念。JDOM主要由三部分构成:SAXBuilder用于从XML源构建DOM树,Element代表XML文档的元素,Attribute代表...
以上就是使用JDOM解析XML文件的基本流程和关键知识点。通过JDOM,你可以轻松地处理XML文档,无论是读取还是修改,都变得轻而易举。在实际开发中,掌握XML和JDOM的操作对于处理结构化数据和接口通信至关重要。
在这个小实例中,我们将深入探讨如何使用JDOM解析XML文件。 首先,我们需要引入JDOM的依赖。在Java项目中,如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom <artifactId>...
使用JDOM解析XML文档通常包括以下几个步骤: 1. 创建`SAXBuilder`实例,这是JDOM提供的解析器,可以将XML输入源转换为`Document`对象。 2. 使用`SAXBuilder`的`build`方法读取XML文件,生成`Document`对象。 3. ...
要使用JDOM解析XML,首先需要将JDOM的jar文件(如jdom.jar)添加到项目的类路径中。此外,由于XML解析通常涉及到其他库,如XPath解析和DTD处理,我们看到压缩包中还包含了一些其他相关的jar文件: 1. xalan.jar:...
Java JDOM解析XML是Java开发中处理XML文档的一种方法,JDOM全称为Java Document Object Model,它是一个基于Java语言的API,用于创建、修改和读取XML文档。JDOM为XML处理提供了一种高效且方便的解决方案,尤其适用于...
下面通过一个具体的例子来展示如何使用JDOM解析XML文件。 假设我们有如下的XML文件(`example.xml`): ```xml <?xml version="1.0" encoding="UTF-8"?> 张三 <age>30 李四 <age>25 ``` #### 1. ...
基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发...
### 使用JDOM解析XML的步骤 1. **导入依赖**: 在Java项目中,你需要引入JDOM的库。如果是Maven项目,可以在pom.xml中添加以下依赖: ```xml <groupId>org.jdom <artifactId>jdom2 <version>2.0.6 ``` 2. ...
以上是关于使用JDOM解析XML的基本方法及优化策略的详细介绍。通过灵活运用这些技巧,我们可以创建出高效且可复用的XML处理代码。在实际开发中,还可以结合其他工具如XPath和XSLT,进一步增强对XML文档的操作能力。
**JDOM解析XML文件** XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。在Java中,JDOM(Java Document Object Model)是一个流行的选择来解析和操作...
使用JDOM,我们可以通过API操作这些节点来实现对XML的解析和操作。 要读取XML文件,首先需要在项目中引入JDOM库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom ...
#### 三、使用JDOM解析XML 为了更好地理解如何使用JDOM进行XML解析,我们可以通过一个简单的例子来展示这一过程: 1. **创建SAXBuilder实例:** 使用`new SAXBuilder()`创建一个新的`SAXBuilder`对象。 2. **加载...