JAVA生成XML文件

Posted 。低调ヽ继续

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于JAVA生成XML文件的主要内容,如果未能解决你的问题,请参考以下文章

创建片段而不从 java 代码实例化它

如何从 Android Studio 中片段的 XML 布局导航到相应的 java 类?

是否有生成 POM.xml 文件的 Java 类?

在扩充XML文件之后,不会调用onCreate()

在 Eclipse 中从 XML 生成 Java 代码

Android android.view.InflateException Binary XML 文件第 16 行:膨胀类片段时出错