java杂技一:xml,json,Excel解析
2014-10-26 11:50
253 查看
在公司差不多有半年时间了,现在总结下项目中用到的一些小杂技,资源来源于网络,所以给想学的新人一点启示,老手可以跳过。
首先说下为什么要分享学到的东西,可能有很多人是学到点东西不愿意告诉别人,怕别人超过自己,或者很懒的跟别人说,但我觉得只有不断的分享才会激励你不断学习的动力,井底之蛙才会永远记得它曾经拥有的光荣。
首先说下项目中经常遇到要解析各种本地或者网络中的数据,而xml,json都是常用的一种数据格式,xml是一种标记性样式语言,看起来比较像html,其实它们都是被同一种协议所规范,而json更为常见,在网页脚本语言js用到。
(备注:所有的jar包我都上传到CSDN了,去我的资源里找。)
一、 下面我介绍下xml解析,分两种情况:一个解析本地的xml文件,只要用到File,Document对象,网上到处都有;还有一种就是解析网络上的资源,这个资料比较少,
1.首先你需要从网上找到对应的jar包,
![](http://img.blog.csdn.net/20141026120723218?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgzOTU3OTMzMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
,这是一个http连接的jar包。
2.接着打下这段代码,
![](http://img.blog.csdn.net/20141026120837142?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgzOTU3OTMzMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
都有说明,你应该明白,这时就将数据读到流中了,接下来从流中读取想要的数据就行。
3.下面涉及到解析xml的3种方法,DOM,SAX,PULL,不过常用的是前两个,前两个我都用过,相对比较容易理解。下面介绍sax的
SAX需要用到jdom的jar包,
![](http://img.blog.csdn.net/20141026121341312?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgzOTU3OTMzMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
,然后
![](http://img.blog.csdn.net/20141026121418908?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgzOTU3OTMzMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
即创建了这样的Document对象,因为文档对象里有很多方法取节点,所以解析最后都会转到这个对象里。
4.下面是一些方法:doc.getRootElement() 获取根节点,
List<Element> departmentList = root.getChildren("department") 获取子节点,这里用List对象是为了方便遍历子节点里面的内容
Element element = peopleList.get(j);
p.setPId(element.getAttributeValue("id")); getAttributeValue 是获取节点的属性值 <people id="xxc"> 取得xxc
element.getChildTextTrim("name"); getChildTextTrim 是获取元素的值 <name>cctv</name> 取得cctv
二、 下面简单介绍下解析json:
1.下载jar包,
![](http://img.blog.csdn.net/20141026122725009?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgzOTU3OTMzMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
,
2.接着代码,我这里是个简单的测试,所以用的是自己写的json 的字符串,
String strResult = "{\"rtPosition\":[{\"userID\":\"xy\",\"userName\":\"ssy\",\"collectionTime\":\"2014-08-21 18:25:56\""
+ ",\"accuracy\":\"62\",\"longitude\":\"118.883937\""
+ ",\"latitude\":\"32.083206\",\"height\":\"0\",\"speed\":\"0\""
+ ",\"gpsType\":\"1\",\"updateTime\":\"2014-08-21 18:26:37\",\"state\":\"1\",\"remark\":\"\"}]}";
![](http://img.blog.csdn.net/20141026123357256?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgzOTU3OTMzMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
JSONObject代表{ }内容的对象,然后JSONArray代表[ ]内容的对象,用参数指定哪个对象对应那个符号里的内容,看下解析的json字符串你就明白了。
三、解析Excel数据
有时候我们的数据会放到Excel表格中,这个是比较常见的,特别是数据库的数据。
1.下载
![](http://img.blog.csdn.net/20141026124336531?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgzOTU3OTMzMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
,
2.
![](http://img.blog.csdn.net/20141026124544249?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgzOTU3OTMzMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
如注释;
3.现在对sheet操作即可得到数据,使用两个for循环遍历所有的表格单元内容:
![](http://img.blog.csdn.net/20141026124747286?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgzOTU3OTMzMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
然后Sring的方法来得到你想要的数据。
首先说下为什么要分享学到的东西,可能有很多人是学到点东西不愿意告诉别人,怕别人超过自己,或者很懒的跟别人说,但我觉得只有不断的分享才会激励你不断学习的动力,井底之蛙才会永远记得它曾经拥有的光荣。
首先说下项目中经常遇到要解析各种本地或者网络中的数据,而xml,json都是常用的一种数据格式,xml是一种标记性样式语言,看起来比较像html,其实它们都是被同一种协议所规范,而json更为常见,在网页脚本语言js用到。
(备注:所有的jar包我都上传到CSDN了,去我的资源里找。)
一、 下面我介绍下xml解析,分两种情况:一个解析本地的xml文件,只要用到File,Document对象,网上到处都有;还有一种就是解析网络上的资源,这个资料比较少,
1.首先你需要从网上找到对应的jar包,
,这是一个http连接的jar包。
2.接着打下这段代码,
都有说明,你应该明白,这时就将数据读到流中了,接下来从流中读取想要的数据就行。
3.下面涉及到解析xml的3种方法,DOM,SAX,PULL,不过常用的是前两个,前两个我都用过,相对比较容易理解。下面介绍sax的
SAX需要用到jdom的jar包,
,然后
即创建了这样的Document对象,因为文档对象里有很多方法取节点,所以解析最后都会转到这个对象里。
4.下面是一些方法:doc.getRootElement() 获取根节点,
List<Element> departmentList = root.getChildren("department") 获取子节点,这里用List对象是为了方便遍历子节点里面的内容
Element element = peopleList.get(j);
p.setPId(element.getAttributeValue("id")); getAttributeValue 是获取节点的属性值 <people id="xxc"> 取得xxc
element.getChildTextTrim("name"); getChildTextTrim 是获取元素的值 <name>cctv</name> 取得cctv
二、 下面简单介绍下解析json:
1.下载jar包,
,
2.接着代码,我这里是个简单的测试,所以用的是自己写的json 的字符串,
String strResult = "{\"rtPosition\":[{\"userID\":\"xy\",\"userName\":\"ssy\",\"collectionTime\":\"2014-08-21 18:25:56\""
+ ",\"accuracy\":\"62\",\"longitude\":\"118.883937\""
+ ",\"latitude\":\"32.083206\",\"height\":\"0\",\"speed\":\"0\""
+ ",\"gpsType\":\"1\",\"updateTime\":\"2014-08-21 18:26:37\",\"state\":\"1\",\"remark\":\"\"}]}";
JSONObject代表{ }内容的对象,然后JSONArray代表[ ]内容的对象,用参数指定哪个对象对应那个符号里的内容,看下解析的json字符串你就明白了。
三、解析Excel数据
有时候我们的数据会放到Excel表格中,这个是比较常见的,特别是数据库的数据。
1.下载
,
2.
如注释;
3.现在对sheet操作即可得到数据,使用两个for循环遍历所有的表格单元内容:
然后Sring的方法来得到你想要的数据。
相关文章推荐
- Java XML JSON 数据解析
- Java 中对象转XML,JSON解析,JSON转XML相关包
- SpringMVC:多视图[JSP,JSON,Excel,XML]混合输出__Java配置方式
- java将xml解析,然后将其转换为json格式(①)
- java中json解析,xml解析
- java poi 解析excel 输出json 并且拼接字符串显示到jsp
- 优雅解析转换XML、Json、Excel
- Java XML JSON 数据解析
- xml,json,map,java对象互相转换解析
- 用Java解析XML,并转换为json格式(2)
- java 解析Excel 与常用的xml解析方法
- Java读取excel文件生成xml文档和JSON文档
- Java框架组件-XML、JSON解析,日志,测试,文档,注释
- springmvc 使用BeanNameViewResolver解析excel,pdf,json,xml视图
- Java 解析Excel文件为JSON
- 微信支付开发教程JAVA编[003]-json和xml的解析
- 使用Java解析xml文件为json格式
- java将xml解析,然后将其转换为json格式(1)
- C#解析xml/json/excel
- java将xml解析,然后将其转换为json格式(②)