- 浏览: 127770 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
akushin:
是不是会少一行··
用apache poi 读取excel文件很方便 -
mady0505:
楼下的童鞋,如果有隔行,稍微判断一下就可以了
if(row!= ...
用apache poi 读取excel文件很方便 -
漫步林中:
学习了。谢谢
Struts2中的文件上传 -
cuisuqiang:
楼主是否发现int sheetNum=wb.getNumber ...
用apache poi 读取excel文件很方便 -
yaoneng:
谢谢楼主,弄明白了~~
用apache poi 读取excel文件很方便
从数据库表里面读取数据并生成一个xml文件给用户下载,下面是所用到的函数,要注意设置好输出到页面的文件头,还有的就是要作为一个文件给人下载的话要 将header里面的属性设置为attachment(也就是作为附件的形式,而不是inline,inline的话会直接打开的).
这里是解析xml文件函数,有一点要注意的就是要设置好reader的编码,一开始我用的gbk,读取的时候有错误,后来改成用gbk的编码方式就行了.
public void genXml() { logger.debug("Test=================================="+enumInfoManager.getObjectList().size()); HashMap<String, Object> result = this.getDefaultMap(); List<EnumInfo> list = enumInfoManager.getObjectList(); Criterion[] criterion; Document doc=DocumentHelper.createDocument(); Element rootElement = doc.addElement("root"); Iterator iter = list.iterator(); while(iter.hasNext()) { EnumInfo enumInfo = (EnumInfo)iter.next(); //EnumItem enumItem = enumItemManager.getObject(enumInfo.getId()); List<EnumItem> itemList = enumItemManager.getObjectList(Restrictions.eq("enumInfoId", enumInfo.getId())); Element recordElement = rootElement.addElement("record"); Element idElement = recordElement.addElement("id"); idElement.setText(enumInfo.getId().toString()); Element tableNameElement = recordElement.addElement("tableName"); tableNameElement.setText(enumInfo.getTableName()==null?"":enumInfo.getTableName()); Element fieldNameElement = recordElement.addElement("fieldName"); fieldNameElement.setText(enumInfo.getFieldName()==null?"":enumInfo.getFieldName()); Element enumNameElement = recordElement.addElement("enumName"); enumNameElement.setText(enumInfo.getEnumName()==null?"":enumInfo.getEnumName()); Element statusElement = recordElement.addElement("status"); statusElement.setText(enumInfo.getStatus()==null?"":enumInfo.getStatus()); Element systemFlagElement = recordElement.addElement("systemFlag"); systemFlagElement.setText(enumInfo.getSystemFlag()==null?"":enumInfo.getSystemFlag()); Iterator iiter = itemList.iterator(); while(iiter.hasNext()) { EnumItem enumItem = (EnumItem)iiter.next(); Element itemElement = recordElement.addElement("item"); Element idEle = itemElement.addElement("id"); idEle.setText(enumItem.getId().toString()); Element fieldEle = itemElement.addElement("fieldValue"); fieldEle.setText(enumItem.getFieldValue()==null?"":enumItem.getFieldValue()); Element displayEle = itemElement.addElement("displayValue"); displayEle.setText(enumItem.getDisplayValue()==null?"":enumItem.getDisplayValue()); Element infoIdEle = itemElement.addElement("enumInfoId"); infoIdEle.setText(enumItem.getEnumInfoId()==null?"":enumItem.getEnumInfoId().toString()); Element orderEle = itemElement.addElement("displayOrder"); orderEle.setText(enumItem.getDisplayOrder()==null?"":enumItem.getDisplayOrder().toString()); Element statusEle = itemElement.addElement("status"); statusEle.setText(enumItem.getStatus()==null?"":enumItem.getStatus()); } } try { //Writer out=new FileWriter("c:\\enum.xml"); this.getResponse().setHeader("Pragma","No-cache"); this.getResponse().setHeader("Cache-Control","no-cache"); this.getResponse().setDateHeader("Expires", 0); this.getResponse().addHeader("Content-disposition", "attachment" + "; filename=\"" + "enum.xml" + "\""); this.getResponse().setContentType("text/xml"); OutputFormat format=OutputFormat.createCompactFormat(); format.setEncoding("UTF-8"); XMLWriter writer=new XMLWriter(this.getResponse().getOutputStream(),format); writer.write(doc); writer.close(); this.getResponse().flushBuffer(); //System.out.println("生成xml文件成功!"); } catch(IOException e) { e.printStackTrace(); result.put(SUCCESS, false); outJson(result); //System.out.println("生成失败了!"); } }
这里是解析xml文件函数,有一点要注意的就是要设置好reader的编码,一开始我用的gbk,读取的时候有错误,后来改成用gbk的编码方式就行了.
public void readXml(File file) { SAXReader reader = new SAXReader(); reader.setEncoding("utf-8"); //这里是关键设置 Document doc = null; try { doc = reader.read(file); } catch(DocumentException e) { e.printStackTrace(); } Element rootEle = doc.getRootElement(); Iterator iter = rootEle.elementIterator("record"); while(iter.hasNext()) { Element recordEle = (Element)iter.next(); String id = recordEle.elementTextTrim("id"); String tableName = recordEle.elementTextTrim("tableName"); String fieldName = recordEle.elementTextTrim("fieldName"); String enumName = recordEle.elementTextTrim("enumName"); String status = recordEle.elementTextTrim("status"); String systemFlag = recordEle.elementTextTrim("systemFlag"); System.out.println(id); System.out.println(tableName); System.out.println(fieldName); System.out.println(enumName); System.out.println(status); System.out.println(systemFlag); Iterator iiter = recordEle.elementIterator("item"); while(iiter.hasNext()) { Element itemEle = (Element)iiter.next(); String iid = itemEle.elementTextTrim("id"); String fieldValue = itemEle.elementTextTrim("fieldValue"); String displayValue = itemEle.elementTextTrim("displayValue"); String enumInfoId = itemEle.elementTextTrim("enumInfoId"); String displayOrder = itemEle.elementTextTrim("displayOrder"); String istatus = itemEle.elementTextTrim("status"); System.out.println(iid); System.out.println(fieldValue); System.out.println(displayValue); System.out.println(enumInfoId); System.out.println(displayOrder); System.out.println(istatus); } } }
发表评论
-
spring里quartz调度的连续触发
2008-11-05 17:08 2378作法是通过spring在执行的触发器的监听器的里面注入下 ... -
web-harvest基础学习一
2008-10-15 11:50 3238Web-harvest里面的<script>标 ... -
使用web-harvest抓取分页数据(二)
2008-10-14 16:40 3440除了使用上述方法外,还可以使用将不页的数据输出到不同的结 ... -
使用Web-Harvest抓取分页的数据
2008-10-14 14:07 4598可以利用其自带的例子里面已经写好了的那个函数,在Func ... -
使用Web-Harvest抓取数据并保存到数据库(一)
2008-10-13 12:23 57111. 从其官网:http://web-harvest.sour ... -
用cactus测试servlet(三)
2008-09-09 18:00 12461. 基于测试方法的名字,ServletTestCase将在 ... -
用cactus测试servlet(二)
2008-09-09 17:58 13451. b ... -
html截取摘要并补齐标签(htmlparser)二
2008-08-26 11:09 3315另外一个关键点就在于补齐截取出来的标签,而在这之前你可能需要面 ... -
Struts2中的文件上传
2008-08-08 10:37 3049struts2 文件上传 (1) 单文件上传 一.简 ... -
JAVA常见的异常(收藏)
2008-08-01 12:26 2313转载自: http://hi.baidu.co ... -
监听器ServletContextListener小记
2008-07-25 15:04 4311今天奉命写一个监听器监听tomcat,在tomcat启动 ... -
java 里的文件生成与删除
2008-07-10 16:33 1558这里先是文件的生成: import java.io.* ... -
临时记录
2008-06-28 16:38 888http://www.blogjava.net/lusm/ar ... -
Struts里面容易出现乱码的地方及解决方法
2008-06-14 21:55 2349容易出现乱码的地方一般有三个地方: a.页面出现乱码 ... -
Struts与Velocity的简单集成
2008-06-12 17:00 1439首先当然是简单的配置web.xml与struts-config ... -
用apache poi 读取excel文件很方便
2008-06-07 00:26 12199用三个循环遍历就行了: 第一层是sheet循环,然后是行循环, ... -
顺序生成,无聊代码...
2008-06-06 00:22 1125package com.jie.java; public ...
相关推荐
要使用DOM4J读取XML文档,首先需要创建一个`SAXReader`对象,然后调用`read`方法传入XML文件路径。这将返回一个`Document`对象,我们可以从中获取所有元素信息。 ```java File file = new File("path_to_xml_file")...
总结,DOM4J作为一款强大的XML处理工具,不仅提供了丰富的API,还支持高效的读写操作和XPath查询,使得开发者能够轻松地进行XML文档的处理和操作。无论是在小型项目还是大型企业级应用中,DOM4J都是处理XML不可或缺...
在你的`analysisXml`示例中,很可能是通过DOM4J库读取了一个名为`dom4j.xml`的文件,分析其结构,提取或修改数据,然后再将结果写回新的XML文件。这个过程可能包括获取特定元素、遍历元素树、修改属性值,甚至可能...
在项目中使用DOM4J时,只需将相应的jar包(如dom4j-1.6.1.jar、dom4j-2.0.2.jar或dom4j-2.1.1.jar)导入到类路径中,即可开始利用其功能处理XML文档。导入后,可以按照DOM4J提供的API进行编程,快速实现XML的读写...
在提供的压缩包中,可能包含了dom4j的jar文件,解压后将其引入项目,就可以开始使用DOM4J进行XML操作了。 DOM4J不仅提供了基本的XML操作,还支持命名空间、事件处理、DTD和XML Schema验证等功能,是Java开发中处理...
以下是对Dom4j读写XML的详细讲解: 一、Document对象相关 1. **读取XML文件**:通过`SAXReader`实例化并调用`read()`方法,可以将XML文件读取为`Document`对象。例如: ```java SAXReader reader = new ...
除了基本的读写操作,DOM4J还支持XPath查询,这是一种强大的定位XML元素的方式。通过`XPathExpression`和`XPathFactory`,你可以编写XPath表达式来查找XML文档中的特定节点。例如,`//elementName`可以匹配所有名为`...
本实例"xmldemo"将向我们展示如何利用DOM4J进行XML的读写操作。 首先,理解DOM4J的核心概念。DOM4J使用了Document对象来表示整个XML文档,Element代表XML的元素节点,Attribute代表属性,Text代表文本内容。通过...
这个版本1.6.1是DOM4J的一个稳定版本,提供了许多特性,如读写XML文件、构建和修改XML结构、执行XPath查询、事件驱动的解析器以及XML Schema支持等。 学习帮助文档`0_02013011112572651533851383.chm`通常是一个...
在实际开发中,DOM4J常用于XML配置文件的读写,如Spring框架的配置文件处理。此外,它还广泛应用于数据交换、XML数据的序列化与反序列化,以及XML文档的转换等场景。 五、API使用示例 以下是一个简单的示例,展示...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而直观的方式来解析、创建、修改和操作XML数据。在本教程中,我们将深入探讨如何使用DOM4J...在实际项目中,DOM4J常被用于数据交换、配置文件读写等场景。
`就展示了如何使用DOM4J来选取XML文档中的特定节点。`selectSingleNode(String xpath)`方法通过XPath表达式选取文档中的唯一节点,这在处理复杂结构的XML时非常有用。 XPath是一种强大的路径语言,用于在XML文档中...
DOM4J 2.1.1 是一个针对Java平台的高效、开源的XML处理库,其全称为“Document Object Model for Java”。这个库提供了一系列强大...无论是在简单的XML读写,还是复杂的XML操作和处理,DOM4J都能提供强大而灵活的支持。
6. **示例代码**:压缩包中的“dom4j读写xml文件.htm”可能包含了具体的代码示例,演示了如何使用DOM4J读取和写入XML文件。通常,这些示例会包括打开XML文件、获取根元素、遍历元素、修改元素内容、以及保存修改后的...
四、DOM4J与其他XML库的比较 DOM4J与JDOM、XOM等其他XML处理库相比,其优势在于功能全面、性能优秀和广泛的社区支持。虽然Java标准库中的JAXB和DOM API提供了XML处理的基础功能,但DOM4J因其简洁的API和强大的功能...
DOM4J的核心优势之一在于其丰富的接口体系,这些接口定义在`org.dom4j`包内,提供了对XML文档进行读写、查询、修改等操作的能力。 1. **Attribute**: 代表XML中的属性,可用于获取和设置属性值。 2. **Branch**: ...
**DOM4J-API.zip**:这个压缩包可能包含了DOM4J库的API文档,开发者可以从中查找具体的类、方法和接口,了解它们的使用方式和功能。通常,API文档会提供详细的说明和示例代码,帮助开发者更好地理解和使用DOM4J库。 ...
5. **Reader/Writer**: DOM4J提供了一组流式接口,用于读写XML文件,可以实现高效的输入输出操作。 6. **Namespace**: 处理XML命名空间,DOM4J提供了方便的方法来处理具有命名空间的XML文档。 7. **Mutation**: 支持...