• Java 生成xml文件并上传


    Maven项目导入依赖:

    <dependency>
    <groupId>org.jdom</groupId>
    <artifactId>jdom</artifactId>
    <version>1.1</version>
    </dependency>

    根据前端传过来的数据进行解析生成xml文件并且上传。

    public class buildXml{

    //String datas="{"imei":"358732036143010","version":"2.3","apk":[{"appname":"SyncKey","packagename":"com.discovery.synckey","classname":"com.discovery.synckey.MainActivity","bucketname":"dbtest.bucketname","versioncode":"21","versionname":"2.1","objectkey":"SyncKey-release_v2.1.apk","md5":"44459ac90e39e9d1822f20da19d3cfd5","issilent":"true","isrunning":"true","type":"0"},{"appname":"DbTest","packagename":"com.discovery.synckey","classname":"com.discovery.synckey.MainActivity","bucketname":"dbtest.bucketname","versioncode":"21","versionname":"2.1","objectkey":"SyncKey-release_v2.1.apk","md5":"44459ac90e39e9d1822f20da19d3cfd5","issilent":"true","isrunning":"true","type":"0"},{"appname":"AppUpdate","packagename":"com.discovery.synckey","classname":"com.discovery.synckey.MainActivity","bucketname":"dbtest.bucketname","versioncode":"21","versionname":"2.1","objectkey":"SyncKey-release_v2.1.apk","md5":"44459ac90e39e9d1822f20da19d3cfd5","issilent":"true","isrunning":"true","type":"0"}]}";

    String datas=(String)context.getValue("datas");
    JSONObject reqJson=JSONObject.parseObject(datas);
    String apk=reqJson.getString("apk");
    String imei=reqJson.getString("imei");
    System.out.println("imei+++++"+imei);
    String version=reqJson.getString("version");

    JSONArray parseArry =JSONObject.parseArray(apk);
    System.out.println("传过来的数据:");
    System.out.println(parseArry);

    Iterator<Object> iterator =parseArry.iterator();

    System.out.println("!!!!!!!!");
    // 创建根节点 list;
    Element root = new Element("datas");

    // 根节点添加到文档中;
    Document Doc = new Document(root);
    Element versions = new Element("version").setText(version);
    root.addContent(versions);
    Element apks = new Element("apks");
    root.addContent(apks);
    // 此处 for 循环可替换成 遍历 数据库表的结果集操作;
    // for (int i = 0; i < 3; i++) {
    while(iterator.hasNext()){

    JSONObject object =(JSONObject)iterator.next();
    // 创建节点 user;
    Element elements = new Element("apk");
    // 给 user 节点添加属性 id;
    // elements.setAttribute("id", "" + i);

    // 给 user 节点添加子节点并赋值;
    // new Element("name")中的 "name" 替换成表中相应字段,setText("xuehui")中 "xuehui 替换成表中记录值;
    elements.addContent(new Element("appname").setText((String)object.getString("appname")));
    elements.addContent(new Element("packagename").setText((String)object.getString("packagename")));
    elements.addContent(new Element("classname").setText((String)object.getString("classname")));
    elements.addContent(new Element("bucketname").setText((String)object.getString("bucketname")));
    elements.addContent(new Element("versioncode").setText((String)object.getString("versioncode")));
    elements.addContent(new Element("versionname").setText((String)object.getString("versionname")));
    elements.addContent(new Element("objectkey").setText((String)object.getString("objectkey")));
    elements.addContent(new Element("md5").setText((String)object.getString("MD5")));
    elements.addContent(new Element("issilent").setText((String)object.getString("issilent")));
    elements.addContent(new Element("isrunning").setText((String)object.getString("isrunning")));
    elements.addContent(new Element("type").setText((String)object.getString("type")));
    // 给父节点apks添加user子节点;

    apks.addContent(elements);
    }
    XMLOutputter XMLOut = new XMLOutputter();
    // 输出 user.xml 文件;
    String net="http://192.168.1.147:8090/xml/"; // 上传对象存放的根目录
    String portal="C:/xml/";

    UUID uuid = UUID.randomUUID();
    String str = uuid + ".xml" ;
    String netPath=net+str;
    context.setValue("filePath", netPath);
    context.setValue("fileType", "xml");
    context.setValue("fileName", str);
    context.setValue("imei", imei);
    String fileNameString=portal+str;
    File xml = new File(fileNameString);
    System.out.println(fileNameString);
    xml.createNewFile();
    XMLOut.output(Doc, new FileOutputStream(xml));

    }

  • 相关阅读:
    通过 curl 命令访问 K8S API
    k8s 调度 Affinity
    golang 定期发送 RA 报文
    Ticker 使用
    查看 host/container veth pair 关系
    Kubernetes 服务 service 的负载均衡分析
    698 TypeScript泛型的使用:泛型实现类型参数化,泛型接口,泛型类,泛型约束
    697 TypeScript接口的使用:接口的声明,可选属性,只读属性,索引类型,函数类型,接口继承,交叉类型,接口的实现,字面量赋值,枚举类型
    696 TypeScript类的使用:类的定义,继承,多态,成员修饰符,readonly,getters/setters,静态成员,抽象类abstract,抽象类演练,类的类型
    695 TypeScript函数类型:可选参数,默认参数,剩余参数,this类型,函数的重载,联合类型和重载
  • 原文地址:https://www.cnblogs.com/yangxiaomei/p/9020157.html
Copyright © 2020-2023  润新知