java杂技一:xml,json,Excel解析

       在公司差不多有半年时间了,现在总结下项目中用到的一些小杂技,资源来源于网络,所以给想学的新人一点启示,老手可以跳过。

       首先说下为什么要分享学到的东西,可能有很多人是学到点东西不愿意告诉别人,怕别人超过自己,或者很懒的跟别人说,但我觉得只有不断的分享才会激励你不断学习的动力,井底之蛙才会永远记得它曾经拥有的光荣。

       首先说下项目中经常遇到要解析各种本地或者网络中的数据,而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的方法来得到你想要的数据。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值