Android基础之格式数据的生成和解析

XML格式数据的生成和解析

序列化(生成)
  • XML格式数据的生成:
//1.初始化
XmlSerializer serializer = Xml.newSerializer();    //创建一个Serializer解析器
serializer.setOutput(out,"utf-8");      //设置输出流及输出的编码为UTF-8
//2.头
serializer.startDocument("UTF-8",true);   //输出开始文档<?xml version="1.0" encoding="UTF-8" standalone="true"?>
//3.内容,根据需求写出节点结构
serializer.startTag(null,"tagname");   //输出<tagname>
serializer.attribute(null,"name","value");  //输出<tagname name="value">
serializer.text("value");    //输出<tagname></tagname>
serializer.endTag(null,"tagname");//结束标签
//4.结束
serializer.endDocument();//结束文档
反序列化
  • XML格式数据的解析(Pull解析)
//1.初始化
XmlPullParser parser = Xml.newPullParser();   //创建一个PULL解析器
parser.setInput(in,"UTF-8");      //读取的编码为UTF-8
//2.获取第一个事件
int even t = parser.getEventType();   //开始解析时调用
//3.循环判断事件,直到达到文档结束节点,根据节点类型进行不同操作
while(event!=XmlPullParser.END_DOCUMENT){
    //parser.getName();   //获得当前指向的标签的标签名
    //parser.getAttributeValue(0);  //获得当前指向的标签的第1个属性值
    //parser.nextText(); //获得当前标签的标签值
    switch(event){
        case XmlPullParser.START_DOCUMENT: //如果指向的是START_DOCUMENT
        //处理
        break;
        case XmlPullParser.START_TAG:    //如果指向的是START_TAG
        //处理
        break;
        case XmlPullParser.END_TAG:     //如果指向的是END_TAG
        //处理
        break;
    }
    event = parser.next();     //指向下一个标签
}

表格数据的生成和解析

首先导入jxl.jar包
解析时表格位置:java/assets
表格生成

 //1:创建excel文件
        File file=new File("test.xls");
        file.createNewFile();

        //2:创建工作簿
        WritableWorkbook workbook=Workbook.createWorkbook(file);
        //3:创建sheet,设置第二三四..个sheet,依次类推即可
        WritableSheet sheet=workbook.createSheet("用户管理", 0);
        //4:设置titles
        String[] titles={"编号","账号","密码"};
        //5:单元格
        Label label=null;
        //6:给第一行设置列名
        for(int i=0;i<titles.length;i++){
            //x,y,第一行的列名
            label=new Label(i,0,titles[i]);
            //7:添加单元格
            sheet.addCell(label);
        }
        //8:模拟数据库导入数据
        for(int i=1;i<10;i++){
            //添加编号,第二行第一列
            label=new Label(0,i,i+"");
            sheet.addCell(label);

            //添加账号
            label=new Label(1,i,"10010"+i);
            sheet.addCell(label);

            //添加密码
            label=new Label(2,i,"123456");
            sheet.addCell(label);
        }

        //写入数据,一定记得写入数据,不然你都开始怀疑世界了,excel里面啥都没有
        workbook.write();
        //最后一步,关闭工作簿
        workbook.close();

表格解析

        //1:创建workbook
        Workbook workbook=Workbook.getWorkbook(new File("test.xls")); 
        //2:获取第一个工作表sheet
        Sheet sheet=workbook.getSheet(0);
        //3:获取数据
        System.out.println("行:"+sheet.getRows());
        System.out.println("列:"+sheet.getColumns());
        for(int i=0;i<sheet.getRows();i++){
            for(int j=0;j<sheet.getColumns();j++){
                Cell cell=sheet.getCell(j,i);
                System.out.print(cell.getContents()+" ");
            }
            System.out.println();
        }

        //最后一步:关闭资源
        workbook.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值