在公司差不多有半年时间了,现在总结下项目中用到的一些小杂技,资源来源于网络,所以给想学的新人一点启示,老手可以跳过。
首先说下为什么要分享学到的东西,可能有很多人是学到点东西不愿意告诉别人,怕别人超过自己,或者很懒的跟别人说,但我觉得只有不断的分享才会激励你不断学习的动力,井底之蛙才会永远记得它曾经拥有的光荣。
首先说下项目中经常遇到要解析各种本地或者网络中的数据,而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的方法来得到你想要的数据。