- 浏览: 132945 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
yaoweinan:
没有.....
Itext 5.4.0 生成PDF中文不报错,Adobe 不显示 -
马文涛:
我也发现这个问题了,你找到解决办法了吗?
Itext 5.4.0 生成PDF中文不报错,Adobe 不显示 -
coding1688:
博主辛苦了,也可以参考一下这篇文章:四步轻松搞定瀑布流布局ht ...
瀑布流布局个人实现 -
yaoweinan:
嘿嘿,那个只是最笨的办法,实际上是不行的,现在一般的都有sw ...
文件上传(无刷新,带进度条,带网速)下载完整 -
javazzu:
我为啥不行呢
文件上传(无刷新,带进度条,带网速)下载完整
package com.my.until;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
* @author lyon.yao
* @function:xml文件操作 需要dom4j-1.6.1.jar
* @date:2011-10-22
*/
public final class XmlTool {
private static SAXReader xppReader=new SAXReader();
/**
* @function:根据文件路径读取xml
* @param Path
* @return
* @throws FileNotFoundException
*/
private static Document loadXml(final String path) throws DocumentException{
Document document=xppReader.read(path);
return document;
}
/**
* @function:根据字符读取xml文件
* @param chars
* @return
*/
private static Document loadXml(final byte[] bytes) throws DocumentException{
ByteArrayInputStream in=new ByteArrayInputStream(bytes);
Document document=xppReader.read(in);
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
return document;
}
/**
* @function:根据文件对象读取xml
* @param file
* @return
* @throws IOException
*/
public static Document loadXml(File file) throws DocumentException{
Document document;
document = xppReader.read(file);
return document;
}
/**
* @function:根据id查找元素下一级中的元素
* @param element
* @param id
* @return
*/
public static List<Element> findElementById(Element element,String id){
Iterator<Element> it = element.elementIterator();
List<Element> result=new ArrayList<Element>();
while (it.hasNext()) {
Element temp = (Element) it.next();
String id_val=temp.attributeValue("id");
if(id.equals(id_val)){
result.add(temp);
}
}
return result;
}
/**
* @function:根据标签名查找xml
* @param element
* @param id
* @return
*/
public static List<Element> findElementByTagName(Element element,String tag_name){
List<Element> result=new ArrayList<Element>();
Iterator<Element> it = element.elementIterator();
while (it.hasNext()) {
Element temp = (Element) it.next();
String tagName=temp.getName();
if(tag_name.equals(tagName)){
result.add(temp);
}
}
return result;
}
/**
* @function:将xml写入指定路径的文件中
* @param document
* @param path
* @throws IOException
*/
public static void writeXml(Document document,String path) throws IOException{
FileOutputStream out_file=new FileOutputStream(path);
XMLWriter writer=new XMLWriter(out_file);
writer.write(document);
writer.flush();
writer.close();
out_file.close();
}
/**
* @function:将xml写入文件
* @param document
* @param file
* @throws IOException
*/
public static void writeXml(Document document,File file) throws IOException{
FileOutputStream out_file=new FileOutputStream(file);
XMLWriter writer=new XMLWriter(out_file);
writer.write(document);
writer.flush();
writer.close();
out_file.close();
}
/**
* @function:将xml文件写入输出流中
* @param document
* @param out
* @throws IOException
*/
public static void writeXml(Document document,OutputStream out) throws IOException{
XMLWriter writer=new XMLWriter(out);
writer.write(document);
writer.close();
}
/**
* 测试入口
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Document doc=XmlTool.loadXml( XmlTool.class.getClassLoader().getResource("")+ "accessCogfig.xml");
System.out.println(doc.asXML());
String xml=doc.asXML();
System.out.println(XmlTool.loadXml(xml.getBytes()).asXML());
List<Element> e=XmlTool.findElementByTagName(doc.getRootElement(), "page-config");
System.out.println(XmlTool.findElementById(e.get(0), "accessRefuse_url"));
XmlTool.writeXml(doc, "C:\\xml.xml");
XmlTool.writeXml(doc, new File("c:\\tmx.xml"));
FileOutputStream out_file=new FileOutputStream(new File("c:\\tmx1.xml"));
XmlTool.writeXml(doc, out_file);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
发表评论
-
写自己的框架,让别人笑掉大牙吧(IOC2)
2013-04-22 14:23 861上篇中主要使用配置文件来定义一些类实例之间的组织关系 ... -
关于java中对象属性值的校验的思考
2013-04-15 14:09 1510现在在java 开发中经常会遇到要交验某个obje ... -
java 动态编译及执行实现Web式java开发
2012-11-29 17:05 887废话不说,让大家等了这么久,先看看截图 : 编译 ... -
JXLayer 使用简单介绍
2012-11-01 17:25 1274JXLayer 是一个很好的Swing 控件装饰类库,其主要要 ... -
关于Jtextinpt 内容的限制
2012-09-28 15:00 756在JTextInput 限制输入内容,这个一般的通过按键输入进 ... -
构造中的多态
2012-08-25 23:19 816各位仁兄,前几日我在 ... -
Swing JtableModel 使用之旅
2012-07-29 03:25 993JTable 是我们一般展示数据的一个很好的Grid组建,个人 ... -
模版模式(TemplatePattern)
2012-07-15 11:08 752模版模式分为2个部分 1.抽象模版 2.具体模版 ... -
门面模式(Facade Pattern)
2012-06-10 19:37 924门面模式(Facade Pattern):门面模式在我个人感觉 ... -
代理模式例子
2012-06-04 15:07 939代理模式简单点就和现实中一样,只是代理实质性的还是别人在做。比 ... -
策略模式应对旅行中出现的问题
2012-06-04 14:21 811策略模式是针对在进行过程中出现一些问题的应对模式。一般可以分为 ... -
java 工厂模式简单介绍及例子
2012-06-03 23:16 1011java中工厂模式在java ee中经常碰见,是一种常见的模式 ... -
java 动态代理及自定义标注使用例子
2012-06-03 00:14 1159java中动态代理,在实际应用中有着很大的作用,譬如在一些类似 ... -
flex3 socket+java
2012-02-06 12:10 1028首先解决的问题是flex的沙箱问题,由于flex 连接服务器存 ... -
java 自定义注解
2012-01-30 16:09 794写道 package com.my;import j ... -
图片裁剪,缩放 批处理
2012-01-07 15:25 986package dwr.demo; import ... -
java System.Properties
2011-10-26 13:19 711使用Properties.getProperty方法的参数也可 ... -
JDK自带的实用工具native2ascii.exe
2011-10-26 09:21 806在做Java开发的时候, ... -
装饰模式例子(模仿修改船只用途)
2011-08-28 20:31 694模仿一次出海旅行中船只的用途的动态调整 功能 写道 pac ... -
观察模式实现粉丝模仿明星说话
2011-08-28 15:05 813艺术圈 写道 package cn.watchermodel ...
相关推荐
Java 四种方式操作xml,包括xml,dom,sax,jdom这四种方式的一个简单例子。
DOM4j是一个易用的,开源的JAVA操作XML的API,写过一篇4种XML操作API的比较,DOM4j是性能和易用行最佳的。因此做一个小教程,供初学者学习。
文件为官网的dom4j-1.6.1库 可以对XML进行简单高效的操作 是JAVA语言版本的各位看好下载
DOM4J使用起来非常简单。只要你了解基本的XML-DOM模型,就能使用。然而他自己带的指南只有短短一页(html),不过说的到挺全。国内的中文资料很少。因而俺写这个短小的教程方便大家使用,这篇文章仅谈及基本的用法,...
主要介绍了Java使用dom4j实现对xml简单的增删改查操作,结合实例形式详细分析了Java使用dom4j实现对xml简单的增删改查基本操作技巧与相关注意事项,需要的朋友可以参考下
java处理xml文件的jar包。操作简单方便。可以对xml的节点,值修改等等,详细说明在在下载包中有说明
该系统采用MVC架构,使用Java Swing编写用户界面,使用DOM4J解析和操作XML文件存储数据。 系统主要包含以下模块: 登录注册模块:用户可以在该模块中进行注册和登录操作,登录成功后才能使用系统的其他功能。 ...
XML在我们的程序中用到的越来越多,因为它存储、读取、修改都比较方便。本例是就是对Xml的增删改查...
标准Dom、JDom(为Java提供的解析技术)、Dom4j(优化之后的解析技术)、SAX(大型xml解析的技术) 树模型:DOM、JDOM、Dom4j; 特点:算法丰富、操作比较简单;一次性读取所有内容到内存(不适于大型xml文件解析...
通过 利用 java 以及 dom4j 来进行XML 文件的 生成与 解析操作。代码简单易懂。
再用dom4j解析器来对xml文件进行操作,也会用到一点xpath的东西。 二:实现步骤 1.Dom4j工具类 用来简化对xml的操作: import java.io.FileOutputStream; import java.io.IOException; import org.dom4j.Document; ...
1、【DOM】 DOM是基于树的结构,通常需要加载整文档和构造DOM树,然后才能开始工作。 优点: a、由于整棵树在内存中,因此可以对xml文档随机...4、【DOM4J】 这4中xml解析方式中,最优秀的一个,集易用和性能于一身。
XML和JavaBean相互转化是一个非常有用的工作,用来读写xml的组件很多,比如dom4j, sax, JDom,Digester等,但是很多组件用起来很麻烦,今天给大家推荐一个超级简单的组件JOX, JOX是一套用户XML document和Java ...
3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...
4) XML没有定义任何标记,它提供了一种工具定义标记以及它们之间的结构关系; 5) XML是一种用于结构化文本交换的标记语言; 6) XML代表了内容的结构也代表了内容本身; 7) XML继承自SGML(标准通用标记语言)。SGML的...
XML创建了标识,而DOM的作用就是告诉script如何在浏览器窗口中操作和显示这些标识 上面我们已经简要的讲述了一些XML的基本原理,我们来看看它们之间的关联以及它们是如何工作的,先看这里一张图: 1.XML描述...
这个是一个Java程序的压缩包,内容主要是在Java程序中读取调用xml文件,通过Java程序编写xml文件等基础操作。代码很简单,其中包含dom4j的基础用法。
3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...
3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...
3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...