- 浏览: 221747 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (151)
- java综合 (53)
- Struts1 (4)
- Oracle (9)
- 环境配置 (14)
- Hibernate (6)
- javascript (11)
- Spring (3)
- Oracle常用傻瓜问题1000问 (13)
- jquery (6)
- Android (5)
- DWR (3)
- Sql server 2005 (1)
- JasperReport (3)
- sturts2 (3)
- ExtJS (2)
- SQL (2)
- SQLITE (1)
- WebService (1)
- java队列 (2)
- Socket (1)
- JSTL标签+OGNL标签 (1)
- 乱码 (1)
- 设计模式 (1)
- Android经验分享 (3)
- 撒旦法 (0)
- 开源库 (1)
最新评论
-
Mr.Cheney:
Apple_2011 写道为什么我删了后还是报这个错啊?
检查 ...
解决办法java.lang.ClassCastException: cannot assign instance of net.sf.jasperreports -
Apple_2011:
为什么我删了后还是报这个错啊?
解决办法java.lang.ClassCastException: cannot assign instance of net.sf.jasperreports -
yangguang111345:
ORA-01922: CASCADE must be spec ...
Oracle 删除用户时出现错误ora-01922: CASCADE must bu specified to drop 用户名 -
移动硬盘:
遇到同樣的錯誤,已使用此方法解決成功,謝謝博主。
OracleDBconsoleorcl无法启动解决方案 -
NeverGiveUpToChange:
非常的不错,学习学习…………
java中timer用法
package com.brit.cx.common; import java.io.ByteArrayInputStream; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Set; import java.util.Vector; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.input.SAXBuilder; import org.jdom.output.Format; import org.jdom.output.XMLOutputter; import com.sun.org.apache.xpath.internal.axes.HasPositionalPredChecker; public class ST { private static List listParentName = new ArrayList(); private static String topParentName=""; public static void main(String[] args) throws IOException { doXmlAndCreate("e:/1.xml","e:/create.xml"); } private static boolean doXmlAndCreate(String path,String newPath) throws IOException{ boolean bflag = false; //创建xml Element Row = new Element("Row"); if(path!=null||!path.equals("")){ byte[] a = Util.readFile(path); List<HashMap<String, String>> listObj = conteverByJdom(a);//得到数据集合 Element [] root = new Element[listObj.size()]; System.out.println(listObj.size()+"多少个"); for (int i = 0; i < listObj.size(); i++) { root[i]=new Element(topParentName); //得到HashMAP HashMap<String, String> map = listObj.get(i); Set keySet = map.keySet(); Object[] keyArray = keySet.toArray(); // 此数组存放所有的HashMap中的键名 String[] keys = new String[keySet.size()]; Vector<String> v = new Vector(); ; for(int j = 0 ; j < keyArray.length ; j++){ keys[j] = keyArray[j].toString(); } //主节点 listParentName存储的父节点名字取出来 for (int j = 0; j < keys.length; j++) { root[i].addContent(create(keys[j], map.get(keys[j]))); } Row.addContent(root[i]); } bflag = createXML(Row,newPath); } return bflag; } /** * 通过Jdom将对应属性。 * @param content * @throws IOException */ private static List<HashMap<String, String>> conteverByJdom(byte[] content) throws IOException { List<HashMap<String, String>> listRootData = new ArrayList<HashMap<String, String>>(); System.out.println("通过Jdom将对应属性。"); SAXBuilder builder = new SAXBuilder(); ByteArrayInputStream bais = new ByteArrayInputStream(content); Document doc; try { doc = builder.build(bais); Element root = doc.getRootElement(); System.out.println("1. " + root.getName()); Element dataobjects = root.getChild("dataobjects"); System.out.println("2. " + dataobjects.getName() + " " + dataobjects.getText()); Element dOMessageWrapper = dataobjects .getChild("DOMessageWrapper__"); System.out.println("3. " + dOMessageWrapper.getName()); Element row = dOMessageWrapper.getChild("Row"); System.out.println("4. " + row.getName()); Element data = row.getChild("data"); System.out.println("5. " + data.getName() + " " + data.getText()); List dataList = data.getChildren(); System.out.println("父级"+dataList.size()+"个"); if(dataList.size()>0){ for (int i = 0; i < dataList.size(); i++) { HashMap map = new HashMap(); Element elem1 = (Element) dataList.get(i); System.out.println("父级别"+elem1.getName()); topParentName=elem1.getName(); List dataList2 = elem1.getChildren(); if(dataList2.size()>0){ for (int j = 0; j < dataList2.size(); j++) { Element elem2 = (Element)dataList2.get(j); elem2.getName(); System.out.println("子级别"+elem2.getName()); //打印节点下的name和value String name=elem2.getName(); String value=elem2.getText(); System.out.println(name+"---"+value); if(name.indexOf("_")>-1){ map.put(name.substring(name.indexOf("_")+1), value); topParentName = name.substring(0, name.indexOf("_")); }else{ map.put(name, value); } } listRootData.add(map); } } } } catch (JDOMException e) { e.printStackTrace(); } return listRootData; } /** * @author zg * @description 创建XML * @param el :Element对象,xml中需要创建的元素. * @param newXmlPath :创建的xml生成到硬盘上的真实的绝对路径. * @return boolean */ public static boolean createXML(Element el,String newXmlPath){ boolean result=false; Document doc = new Document(); doc.setContent(el); doc.toString(); FileWriter writer; XMLOutputter outputter=new XMLOutputter(); try { writer = new FileWriter(newXmlPath); Format format = Format.getRawFormat();// getCompactFormat(); getPrettyFormat(); getRawFormat();--可以实现标签内如果为空,则后面跟这</XX>标签 //设置XML编码类型 format.setEncoding("UTF-8"); //设置缩进字符串 format.setIndent(" "); outputter.setFormat(format); outputter.output(doc, writer); writer.close(); return result=true; } catch (Exception e) { e.printStackTrace(); } return result; } /** * @author zg * 创建新节点 * @param name 节点的名称 * @param text 节点的内容 * @return Element元素对象 */ private static Element create(String name, String text) { return new Element(name).setText(text); } }
package com.brit.cx.common; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Util { public Util() { } /** *//** * 读取源文件内容 * @param filename String 文件路径 * @throws IOException * @return byte[] 文件内容 * @throws IOException */ public static byte[] readFile(String filename) throws IOException{ File file =new File(filename); if(filename==null || filename.equals("")){ throw new NullPointerException("无效的文件路径"); } long len = file.length(); byte[] bytes = new byte[(int)len]; BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream(file)); int r = bufferedInputStream.read( bytes ); if (r != len) throw new IOException("读取文件不正确"); bufferedInputStream.close(); return bytes; } /** *//** * 将数据写入文件 * @param data byte[] * @throws IOException * @throws IOException */ public static void writeFile(byte[] data,String filename) throws IOException{ File file =new File(filename); file.getParentFile().mkdirs(); BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream(file)); bufferedOutputStream.write(data); bufferedOutputStream.close(); } /** *//** * 从jar文件里读取class * @param filename String * @throws IOException * @return byte[] * @throws IOException */ public byte[] readFileJar(String filename) throws IOException{ BufferedInputStream bufferedInputStream=new BufferedInputStream(getClass().getResource(filename).openStream()); int len=bufferedInputStream.available(); byte[] bytes=new byte[len]; int r=bufferedInputStream.read(bytes); if(len!=r){ bytes=null; throw new IOException("读取文件不正确"); } bufferedInputStream.close(); return bytes; } /** *//** * 读取网络流,为了防止中文的问题,在读取过程中没有进行编码转换,而且采取了动态的byte[]的方式获得所有的 byte返回 * @param bufferedInputStream BufferedInputStream * @throws IOException * @return byte[] * @throws IOException */ public byte[] readUrlStream(BufferedInputStream bufferedInputStream) throws IOException{ byte[] bytes = new byte[100]; byte[] bytecount=null; int n=0; int ilength=0; while((n=bufferedInputStream.read(bytes))>=0){ if(bytecount!=null) ilength=bytecount.length; byte[] tempbyte=new byte[ilength+n]; if(bytecount!=null){ System.arraycopy(bytecount,0,tempbyte,0,ilength); } System.arraycopy(bytes,0,tempbyte,ilength,n); bytecount=tempbyte; if(n<bytes.length) break; } return bytecount; } }
附件里有上传XML和 JDOM解析和创建XML的例子
- conversionXml改.rar (3.6 MB)
- 下载次数: 10
发表评论
-
androidd 几个开源框架
2013-10-30 12:16 620http请求开源框架: AsyncHttpClient ( ... -
java获取一个0到N的随机数
2013-10-25 09:26 947private int getRandom(int ... -
Java线程:线程的同步-同步块
2012-04-06 11:20 955Java线程:线程的同步-同步块 对于同步,除了同步方法 ... -
精通java的25个标准
2012-03-24 16:43 8101.你需要精通面向对象分析与设计(OOA/OOD)、涉及 ... -
冒泡排序
2012-03-17 18:23 882import java.io.BufferedReader; ... -
validator的使用,jsp回显提示信息
2012-03-10 10:07 908UserAction.java package com.r ... -
引入标签的地址
2012-03-10 10:07 910<%@ taglib prefix="&quo ... -
eclipse项目中关于导入的项目里提示HttpServletRequest 不能引用的解决办法
2012-02-14 14:47 1679eclipse项目中关于导入的项目里提示HttpServlet ... -
Page分页
2011-09-09 15:39 987package util; import java.util ... -
JAVA类反射学习资料
2011-09-02 17:04 13041、获取指定类的构造器 ... -
去掉 URL 中讨厌的 jsessionid
2011-08-31 10:59 1788编写DisableUrlSessionFilter.java类 ... -
urlrewrite可以将动态的URL进行伪静态
2011-08-31 10:10 603urlrewrite可以将动态的URL进行伪静态,比如把 ... -
JSP导出Excel的例子
2011-08-26 17:37 1235<%@ page contentType="a ... -
自定义jstl标签函数,方便开发
2011-08-26 16:17 899自定义JSTL标签函数,方便页面的调用,通过调用函数返回数据进 ... -
如何使用Log4j?
2011-08-24 17:05 670如何使用Log4j? 1、 L ... -
Java开发常用jar包
2011-08-24 17:01 939mail.jar与activation.jar 里 ... -
JSON-RPC-JAVA 的使用(AJAX技术调用java类方法)
2011-08-24 11:20 723JSON-RPC-JAVA 非常好用的一个ajax框架,附上d ... -
JAVA中利用JDOM类库对XML进行简单的包装处理
2011-05-31 10:42 1253package test.base; import java ... -
自定义Tag标签的使用、Struts2国际化全局资源配置(老鸟请绕道)
2011-05-24 21:33 1303今天同事问我,如何对jsp上用户的某个功能进行限制 ... -
如何得到HashMap的所有键名
2011-03-31 16:39 995Set keySet = map.keySet(); ...
相关推荐
接下来,我们将详细介绍使用JDOM读取XML文件的步骤: 1. 加载XML文件:使用`SAXBuilder`类来读取XML文件并构建DOM树。如下所示: ```java import org.jdom2.Document; import org.jdom2.input.SAXBuilder; public...
要使用JDOM读取XML文件,我们需要以下几个步骤: 1. 引入JDOM库:在项目中添加JDOM的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom <artifactId>jdom2 <version>...
用JDOM读取XML文件 用JDOM读取XML文件用JDOM读取XML文件
本教程将深入探讨如何使用JDOM读取XML文件,并阐述其在Spring框架中的应用。 首先,我们了解JDOM的基本概念。JDOM提供了一种树型结构来表示XML文档,其中XML元素、属性、文本和注释等都对应于特定的Java对象。通过...
使用JDOM读取XML文件的第一步是引入相关的库。如果你使用的是Maven项目,需要在pom.xml文件中添加JDOM依赖: ```xml <groupId>org.jdom <artifactId>jdom2 <version>2.0.6 ``` 然后,我们可以编写Java代码来...
要使用JDOM读取XML文件,首先需要导入必要的库: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; ``` 然后,我们可以创建一个`SAXBuilder`实例,用于解析XML...
然后创建了一个名为 `readXML` 的类,该类中的 `main` 方法展示了如何使用 JDOM 来读取一个名为 `text.xml` 的 XML 文件: ```java SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(new FileInputStream...
在Java编程中,JDOM(Java Document Object Model)是处理XML的一种库,它提供了方便的方式来创建、修改和读取XML文档。本篇文章将深入探讨如何使用JDOM解析XML文件。 首先,我们需要理解JDOM的基本结构。JDOM通过...
总的来说,JDOM 提供了一种直观且强大的方式来处理 XML 文档,无论是读取、创建还是查询,都能轻松应对。通过以上示例,你可以开始实践并深入了解 JDOM 的用法。在实际项目中,确保将 JDOM 相关的 jar 文件(如 jdom...
Java JDOM解析XML是Java开发中处理XML文档的一种方法,JDOM全称为Java Document Object Model,它是一个基于Java语言的API,用于创建、修改和读取XML文档。JDOM为XML处理提供了一种高效且方便的解决方案,尤其适用于...
**JDOM读取XML** 在JDOM中,读取XML文档首先需要解析XML文件到一个`SAXBuilder`对象,然后通过这个对象构建一个`Document`对象。以下是一个基本的读取XML文件的示例: ```java import org.jdom2.*; import org....
JDOM是一个专门为Java设计的API,它提供了一种高效、方便的方式来构建和读取XML文档。在这个教程中,我们将深入探讨如何在JSP(JavaServer Pages)环境中使用JDOM解析XML。 **1. JDOM基本概念** JDOM的核心在于两...
这个例子展示了如何使用JDOM读取、修改并保存XML文档。通过JDOM,我们可以轻松地处理XML数据,无论是简单的文档还是复杂的结构,都能得心应手。在实际项目中,根据需求选择适当的解析器,结合JDOM提供的API,可以...
3. 读取XML文件并构建DOM树:`File xmlFile = new File("path_to_xml_file"); Document document = saxBuilder.build(xmlFile);` 4. 获取根元素:`Element rootElement = document.getRootElement();` 5. 遍历元素...
jdom学习读取xml文件资料小列子,非常简单明了。
Java中的JDOM库是一个强大的工具,用于处理XML文档的创建、读取和修改。XML(eXtensible Markup Language)是一种被广泛应用于数据交换和存储的标记语言,它具有结构化和可扩展的特点。JDOM是Java的一个API,设计...
3. **加载XML文件**:使用`SAXBuilder`读取XML文件并构建`Document`对象。 ```java import java.io.File; File inputFile = new File("sample.xml"); Document document = saxBuilder.build(inputFile); ``` 4. *...
JDOM的主要优势在于它具有良好的性能表现,并且提供了简洁直观的API来操作XML文档。 #### 二、JDOM的工作原理 JDOM的核心思想是通过构建一个轻量级的对象模型来表示XML文档。这使得开发人员能够非常直观地对XML文档...
JDOM是Java中一个专门用来处理XML的库,它提供了一种高效且方便的方式来创建、修改和读取XML文档。本篇文章将深入探讨如何利用JDOM解析XML文件,并基于XML中的类名生成相应的对象。 首先,我们需要理解JDOM的基本...