- 浏览: 243114 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (281)
- hibernate (16)
- sql工具 (2)
- eclipse (15)
- tomcat (13)
- 项目部署 (4)
- java (62)
- spring (15)
- EL (1)
- javascript (8)
- 正则表达式 (1)
- jQuery (4)
- mysql (15)
- jstl (1)
- jsp (1)
- eclipse,eclipse插件 (1)
- svn (4)
- java,resin (1)
- jdbc (1)
- jdk (2)
- android (21)
- resin (3)
- php (3)
- 其他 (2)
- 数据库 (2)
- cas单点登录 (2)
- 邮箱激活 (1)
- jad (1)
- 支付 (1)
- struts (1)
- jpa (1)
- struts2 (4)
- json (3)
- oracle (2)
- velocity (1)
- sina微博登陆 (2)
- qq账户登录 (1)
- spring security (1)
- java图片处理 (1)
- http请求 (1)
- cas springsecurity (1)
- freemarker (1)
- cas (6)
- java oauth2 (2)
- oauth2.0 (6)
- springsecurity oauth2 (1)
- sms (1)
- springmvc (2)
- spring aop (1)
- luaeclipse (1)
- cocos2d (1)
- hibernate缓存 (1)
- ibatis (1)
- linux (7)
- 技术网站 (1)
- python (2)
- hadoop (1)
- war3 (0)
- elasticsearch (2)
- jboss (1)
- spring data jpa (2)
- java json (1)
- jsonp (1)
- webservice (4)
- java多线程 (1)
- java加密解密 (1)
- spring task (1)
- java session and cookie (1)
- java nio (1)
- 缓存 (1)
- java大数据 (1)
- cygwin (1)
- 设计模式 (1)
- mybatis (2)
- jquery插件 (2)
- jvm内存溢出 (1)
- drools (1)
- cookie and session (1)
- jvm内存设置 (1)
- nginx (1)
- 微信 (1)
- extjs (1)
- redis (7)
- memcached (1)
- js闭包 (1)
- js (0)
- mongodb (3)
- dubbo (2)
- jdk版本问题 (1)
- opnfire (1)
- git (1)
- jsp视频播放 (1)
- 国际化 (1)
- 后台管理 (1)
- yum (1)
- k (1)
- 算法 (0)
- jvm优化 (1)
- java检测 (1)
- maven操作 (0)
- ios打包 (1)
- 网络通信 (1)
- node.js (1)
- maven (4)
- 消息队列 (2)
- springcloud (6)
- mq (2)
- idea (3)
- log4j (1)
- docker (4)
- editplus (1)
- springboot (1)
- Kubernetes (1)
- jenkins (1)
- websocket (1)
- thirft (1)
- strom (1)
- postman (1)
- kafka (1)
- 线程池 (1)
- JVisualVM (1)
- java反射 (1)
- shell (1)
- java8 (2)
- i18 (1)
- jvm (0)
- nio (1)
- nodejs (1)
- idea java (1)
最新评论
-
pengfeifei26:
wbzhaohl 写道这个有解决方案没有时间长了,貌似有点忘了 ...
A redirect is required to get the users approval -
wbzhaohl:
这个有解决方案没有
A redirect is required to get the users approval -
somebody:
恩。好吧。这个只有在 还没发布的 2.0 版本才有。
oauth2.0设置自动授权
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SaxHandler extends DefaultHandler { /* 此方法有三个参数 arg0是传回来的字符数组,其包含元素内容 arg1和arg2分别是数组的开始位置和结束位置 */ @Override public void characters(char[] arg0, int arg1, int arg2) throws SAXException { String content = new String(arg0, arg1, arg2); System.out.println(content); super.characters(arg0, arg1, arg2); } @Override public void endDocument() throws SAXException { System.out.println("\n…………结束解析文档…………"); super.endDocument(); } /* arg0是名称空间 arg1是包含名称空间的标签,如果没有名称空间,则为空 arg2是不包含名称空间的标签 */ @Override public void endElement(String arg0, String arg1, String arg2) throws SAXException { System.out.println("结束解析元素 " + arg2); super.endElement(arg0, arg1, arg2); } @Override public void startDocument() throws SAXException { System.out.println("…………开始解析文档…………\n"); super.startDocument(); } /*arg0是名称空间 arg1是包含名称空间的标签,如果没有名称空间,则为空 arg2是不包含名称空间的标签 arg3很明显是属性的集合 */ @Override public void startElement(String arg0, String arg1, String arg2, Attributes arg3) throws SAXException { System.out.println("开始解析元素 " + arg2); if (arg3 != null) { for (int i = 0; i < arg3.getLength(); i++) { // getQName()是获取属性名称, System.out.print(arg3.getQName(i) + "=\"" + arg3.getValue(i) + "\""); } } System.out.print(arg2 + ":"); super.startElement(arg0, arg1, arg2, arg3); } } import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SaxHandler extends DefaultHandler { private HashMap<String, String> map = null; private List<HashMap<String, String>> list = null; /** * 正在解析的元素的标签 */ private String currentTag = null; /** * 正在解析的元素的值 */ private String currentValue = null; private String nodeName = null; public List<HashMap<String, String>> getList(){ return list; } public SaxHandler(String nodeName) { this.nodeName = nodeName; } @Override public void startDocument() throws SAXException { // TODO 当读到一个开始标签的时候,会触发这个方法 list = new ArrayList<HashMap<String,String>>(); } @Override public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException { // TODO 当遇到文档的开头的时候,调用这个方法 if(name.equals(nodeName)){ map = new HashMap<String, String>(); } if(attributes != null && map != null){ for(int i = 0; i < attributes.getLength();i++){ map.put(attributes.getQName(i), attributes.getValue(i)); } } currentTag = name; } @Override public void characters(char[] ch, int start, int length) throws SAXException { // TODO 这个方法用来处理在XML文件中读到的内容 if(currentTag != null && map != null){ currentValue = new String(ch, start, length); if(currentValue != null && !currentValue.trim().equals("") && !currentValue.trim().equals("\n")){ map.put(currentTag, currentValue); } } currentTag=null; currentValue=null; } @Override public void endElement(String uri, String localName, String name) throws SAXException { // TODO 在遇到结束标签的时候,调用这个方法 if(name.equals(nodeName)){ list.add(map); map = null; } super.endElement(uri, localName, name); } }
发表评论
-
二叉树创建和遍历
2015-03-30 22:10 666package test; import java. ... -
solr使用
2015-03-08 12:31 0http://www.52menshao.com/conten ... -
关于算法
2014-03-31 18:48 387http://bbs.csdn.net/topics/3907 ... -
java js 插件
2014-03-27 16:08 334http://www.malot.fr/bootstrap-d ... -
关于java模式
2014-03-13 17:04 283http://gxl-ct001.iteye.com/blog ... -
关于秒杀
2014-02-25 18:47 0http://www.blogjava.net/dongbul ... -
json格式时间转java时间
2014-01-08 16:17 1046http://surongly.iteye.com/blog/ ... -
Java时间日期格式转换
2014-01-03 18:26 464http://blog.csdn.net/Miniyaner/ ... -
JAVA调用sms
2014-01-03 16:15 436http://sms.webchinese.cn/api.sh ... -
oauth2.0 accesstoken验证无效处理类
2013-12-24 19:20 1099org.springframework.security.oa ... -
oauth2.0设置自动授权
2013-12-24 19:12 1398将 oauth_client_details 库表中autoa ... -
刷新access_token 类
2013-12-24 18:52 648刷新access_token 类 先删除掉库里保存的记录,然 ... -
oauth2.0怎么验证accesstoken是否正确或合法
2013-12-24 18:05 2158验证access_token流程 OAuth2Authent ... -
怎么样判断accesstoken是否过期
2013-12-24 18:02 1797用code去换取token的时候,会返回三个参数:现在的acc ... -
Java模拟HTTP的Get和Post请求
2013-09-17 17:03 1089/** post * 调用httpClient ... -
通过url获取图片并保存至本地
2013-09-17 15:39 1178/** * 通过url获取图片并保存至本 ... -
css 控制字数,多出用...表示
2013-09-16 18:20 1242<html> <head> ... -
com/caucho/server/http/ResinServer
2013-09-12 18:33 1147java.lang.NoClassDefFoundError: ... -
sina微博和腾讯微博OAuth2.0授权笔记实例
2013-09-04 09:56 789sina微博和腾讯微博OAuth2.0授权笔记实例 -
sina微博oauth2 获取accessToken
2013-09-02 23:25 1055public String execute() throw ...
相关推荐
SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml...
本示例将详细解释如何在Java中使用SAX解析XML文档,并通过注释进行详细说明。 首先,我们需要引入SAX解析器的依赖库,通常这可以通过在项目构建配置中添加JAXB或Xerces实现来实现。 ```java // 引入必要的库,如...
Java解析XML数据主要涉及到...总的来说,SAX解析器是Java处理XML文档的一种高效方式,特别适合处理大文件或资源有限的情况。通过自定义事件处理器,我们可以灵活地解析XML文档中的特定信息,而不必一次性加载整个文档。
本压缩包文件“XML-java.rar”包含了关于使用Java解析XML的实例,特别强调了SAX解析器的使用,并且提到了使用JDOM和JOM4J这两个Java库来处理XML。 1. **DOM解析**:DOM是一种树型结构,它将整个XML文档加载到内存中...
2. **内存消耗小**:与DOM解析器(将整个XML结构转化为内存中的树形结构)相比,SAX解析器对内存的需求较少。 3. **实时性**:因为是事件驱动,解析过程可以与数据处理同时进行,提高了程序的响应速度。 **SAX解析...
标题中提到的"XML通过SAX解析为JSON格式"是指使用SAX解析器来读取XML文档,并将其转换成等效的JSON对象。SAX解析器以流式方式处理XML,当遇到文档的不同部分(如开始标签、结束标签、文本节点等)时,会触发相应的...
下面是一个简单的SAX解析XML文档的Java代码示例: ```java import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SAXXmlDemo extends ...
相较于DOM(Document Object Model)解析器,SAX解析器占用更少的内存和处理时间,因为它不会一次性加载整个XML文档到内存,而是采用事件驱动的方式逐个处理XML元素。在本项目中,"saxloadxml"应该是实现了一个SAX...
本文将深入探讨如何使用SAX解析XML并获取元素的值或内容。 首先,SAX解析器以流式方式读取XML文档,当遇到文档的不同部分时,会触发相应的事件,如开始文档、开始元素、结束元素等。开发者可以注册事件处理器来响应...
本篇文章将重点讲解XML在Java中的解析方式,特别是DOM和SAX解析。 1. DOM解析: DOM(Document Object Model)是W3C推荐的一种处理XML文档的标准模型。它将整个XML文档加载到内存中,构建一个树形结构,允许开发者...
下面将详细介绍Java SAX解析XML的相关知识点。 1. **SAX解析原理**: - SAX解析器读取XML文件,遇到每个元素、属性、文本等,都会触发一个相应的事件。 - 应用程序通过实现SAX解析器的回调接口,定义处理这些事件...
SAX解析器的工作原理是基于事件驱动的,它在解析XML文档时会触发一系列的事件,如开始文档、结束文档、开始元素、结束元素等。开发者通过实现SAX解析器的回调接口(如ContentHandler),在这些事件发生时执行相应的...
SAX(Simple API for XML)是XML解析器的一种,它采用事件驱动的方式对XML文档进行解析,而不是一次性加载整个文档到内存中,因此在处理大型XML文件时,SAX解析器具有较高的性能和较低的内存消耗。 标题“sax解析...
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
以提供的`beans.xml`为例,假设这是一个描述Java Bean属性的XML文件,SAX解析可以用来动态创建和初始化Bean对象。在解析过程中,我们可以识别出bean的类型、属性名和属性值,然后创建对应的Bean实例并设置属性。 另...
然而,SAX解析器并不提供修改XML文档的能力,只支持读取操作。以下是一个简单的SAX解析示例: ```java import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers....
本主题将深入探讨如何在Servlet中利用SAX解析XML文档。 首先,我们需要了解SAX解析的基本原理。SAX解析器不创建整个XML文档树,而是当遇到XML文档的各个部分(如元素、属性、文本等)时,触发相应的事件回调函数。...
Java SAX方式解析XML文档是一种高效的处理大型XML文件的方法,它基于事件驱动模型,不将整个XML文档加载到内存中,而是逐个处理XML元素。这种方式非常适合处理大文件,因为它节省了内存,但需要编写更多的代码来处理...
以下是一个简单的SAX解析超大XML文件的Java示例代码: ```java import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; import javax.xml.parsers....