zoukankan      html  css  js  c++  java
  • JAVA生成XML文件

    由于工作需要,需要生成如下xml:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <root>
    <Scorm Theme="2016-06-22 18:09:45" Speakor="" Introduction="" ScromType="1">
    <VideoList Name="通道1" Count="1">
    <Video File="111.mp4" Time="118000"/>
    </VideoList>
    <VideoList Name="通道2" Count="1">
    <Video File="222.mp4" Time="118000"/>
    </VideoList>
    <IndexList Count="0"/>
    <ChangeList Count="0"/>
    </Scorm>
    </root>
    View Code

    编写方法如下:

    public void creatXML(String path, String[] names, String[] timelengths)
                throws IOException {
            path = path + "\assets\";
            Document doc = DocumentHelper.createDocument();
            // 增加根节点
            Element root = doc.addElement("root");
            // 增加子元素
            Element scorm = root.addElement("Scorm");
            // 为子节点添加属性
            scorm.addAttribute("theme", "");
            scorm.addAttribute("speakor", "");
            scorm.addAttribute("introduction", "");
            scorm.addAttribute("ScromType", "1");
            for (int i = 0; i < names.length; i++) {
                String name = names[i].substring(names[i].lastIndexOf("\") + 1,
                        names[i].length());
                Element videoList = scorm.addElement("VideoList");
                videoList.addAttribute("Name", "通道" + (i + 1));
                videoList.addAttribute("Count", "1");
                Element video = videoList.addElement("Video");
                video.addAttribute("File", name);
                video.addAttribute("Time", timelengths[i]);
            }
            Element indexList = scorm.addElement("IndexList");
            indexList.addAttribute("Count", "0");
            Element changeList = scorm.addElement("ChangeList");
            changeList.addAttribute("Count", "0");
            // 实例化输出格式对象
            OutputFormat format = OutputFormat.createPrettyPrint();
            // 设置输出编码
            format.setEncoding("UTF-8");
            // 创建需要写入的File对象
            File file = new File(path + File.separator + "videoList.xml");
            // 生成XMLWriter对象,构造函数中的参数为需要输出的文件流和格式
            XMLWriter writer = new XMLWriter(new FileOutputStream(file), format);
            // 开始写入,write方法中包含上面创建的Document对象
            writer.write(doc);
        }
    View Code

    调用:

    1 String[] names = {"1通道","2通道","3通道"};
    2 String[] timelengths = {"500","500","500"};
    3 String path = "E:\video\";
    4 
    5 creatXML(path,names,timelengths);
    View Code
  • 相关阅读:
    shell笔记
    全引用与部分引用
    R语言 EFA(探索性因子分析)
    Markdown 基本使用
    Oracle截取字符串和查找字符串
    ggplot画基本图形类型
    ggplot画图笔记
    用R语言 画条形图(基于ggplot2包)
    Git基本操作
    R语言为数据框添加列名或行名
  • 原文地址:https://www.cnblogs.com/pengpengzhang/p/7262681.html
Copyright © 2011-2022 走看看