package test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
public class CreatEpg {
public static epg Xml(File file){
epg epg = new epg();
//设置当前时间
epg.setCreatedTime(getDate());
epg.setVersion("1.0");
epg.setChannelCode("0"+file.getName().substring(file.getName().indexOf(".")-1, file.getName().indexOf(".")) + "25");
epg.setChannelName(file.getName().substring(file.getName().indexOf("_")+1,file.getName().indexOf(".")));
epg.setTerminalType("stb,mobile");
epg.setDefinitionType("SD");
epg.setBusiType("");
//info 数据
info info = new info("","中国大陆","","普通话","","0.0","综合,对话,热点");
List<Program> programList = new ArrayList<Program>();
try {
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String tempLine = "";
int line = 0;
while((tempLine = bufferedReader.readLine()) != null){
line ++ ;
//处理文件
Program program = new Program();
String[] lineContent = tempLine.split(
",(?=([^\"]*\"[^\"]*\")*[^\"]*$)", -1);// 按逗号分开
program.setEndTime(lineContent[2]);
program.setStartTime(lineContent[1]);
name name = new name("chi",lineContent[0]);
program.setName(name);
String random = "";
for(int i = 0; i<3;i++){
Integer integer = new Random().nextInt(10);
random+=String.valueOf(integer);
}
String assertId = "mcap" + epg.getChannelCode() + random;
program.setAssetId(assertId);
program.setInfo(info);
program.setReserve("0");
program.setPosterList("");
program.setDescription("");
programList.add(program);
}
System.out.println(line);
epg.setProgramList(programList);
bufferedReader.close();
fileReader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return epg;
}
public static void main(String[] args) {
try {
// File file1 = new File("F://output_cctv1.txt");
// File file2 = new File("F://output_cctv2.txt");
// File file3 = new File("F://output_cctv3.txt");
// File file4 = new File("F://output_cctv4.txt");
File file5 = new File("F://output_cctv5.txt");
File file6 = new File("F://output_cctv6.txt");
List<File> files = new ArrayList<File>();
// files.add(file6);files.add(file5);files.add(file4);files.add(file3);files.add(file2);files.add(file1);
files.add(file5);files.add(file6);
JAXBContext context = JAXBContext.newInstance(epg.class);
// 下面代码演示将对象转变为xml
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); //设置XML自动换行
for(File file : files){
epg epg = CreatEpg.Xml(file);
//要存储的文件路径
File target_file = new File ("F:\\test\\");
if(!target_file.exists()){
target_file.mkdirs();
}
FileWriter fw = new FileWriter(target_file.getAbsolutePath()+"\\"+file.getName().substring(file.getName().indexOf("_")+1,file.getName().indexOf("."))+".xml");
m.marshal(epg, fw);
fw.close();
}
} catch (JAXBException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 获取当前时间
* */
public static String getDate(){
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
return dateFormat.format(date);
}
}
package test;
import java.util.List;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class epg {
private String createdTime;
private String version;
private String channelCode;
private String channelName;
private String terminalType;
private String definitionType;
private String busiType;
private List<Program> programList;
public epg() {
super();
// TODO Auto-generated constructor stub
}
public epg(String createdTime, String version, String channelCode,
String channelName, String terminalType, String definitionType,
String busiType, List<Program> programList) {
super();
this.createdTime = createdTime;
this.version = version;
this.channelCode = channelCode;
this.channelName = channelName;
this.terminalType = terminalType;
this.definitionType = definitionType;
this.busiType = busiType;
this.programList = programList;
}
@XmlAttribute
public String getCreatedTime() {
return createdTime;
}
public void setCreatedTime(String createdTime) {
this.createdTime = createdTime;
}
@XmlAttribute
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
@XmlElement
public String getChannelCode() {
return channelCode;
}
public void setChannelCode(String channelCode) {
this.channelCode = channelCode;
}
@XmlElement
public String getChannelName() {
return channelName;
}
public void setChannelName(String channelName) {
this.channelName = channelName;
}
@XmlElement
public String getTerminalType() {
return terminalType;
}
public void setTerminalType(String terminalType) {
this.terminalType = terminalType;
}
@XmlElement
public String getDefinitionType() {
return definitionType;
}
public void setDefinitionType(String definitionType) {
this.definitionType = definitionType;
}
@XmlElement
public String getBusiType() {
return busiType;
}
public void setBusiType(String busiType) {
this.busiType = busiType;
}
@XmlElementWrapper
@XmlElement(name="program")
public List<Program> getProgramList() {
return programList;
}
public void setProgramList(List<Program> programList) {
this.programList = programList;
}
}
package test;
import javax.xml.bind.annotation.XmlAttribute;
public class info {
private String actors;
private String area;
private String director;
private String language;
private String playdate;
private String score;
private String type;
public info(String actors, String area, String director, String language,
String playdate, String score, String type) {
super();
this.actors = actors;
this.area = area;
this.director = director;
this.language = language;
this.playdate = playdate;
this.score = score;
this.type = type;
}
public info() {
super();
// TODO Auto-generated constructor stub
}
@XmlAttribute
public String getActors() {
return actors;
}
public void setActors(String actors) {
this.actors = actors;
}
@XmlAttribute
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
@XmlAttribute
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
@XmlAttribute
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
@XmlAttribute
public String getPlaydate() {
return playdate;
}
public void setPlaydate(String playdate) {
this.playdate = playdate;
}
@XmlAttribute
public String getScore() {
return score;
}
public void setScore(String score) {
this.score = score;
}
@XmlAttribute
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
package test;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlValue;
public class name {
private String language;
private String aaa;
@XmlAttribute
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
@XmlValue
public String getAaa() {
return aaa;
}
public void setAaa(String aaa) {
this.aaa = aaa;
}
public name() {
super();
}
public name(String language,String aa) {
super();
this.language = language;
this.aaa=aa;
}
}
相关推荐
目标检测中CSV格式转XML格式
标题中的“c#将csv转xml.rar”表明这是一个使用C#编程语言开发的程序,其主要功能是将CSV(逗号分隔值)文件转换为XML(可扩展标记语言)文件。这种转换在数据处理中非常常见,因为XML提供了一种更结构化的方式来...
目前只支持CSV转换到XM或者JSON,如果需要其他的转换工具可以找我,或者等我后续在补上,输出输入格式可选,支持选择定位的文件,和保存的文件夹
csv数据标注格式转xml文件格式,便于SSD和YOLO训练 详见:https://blog.csdn.net/Mynameisyournamewuyu/article/details/81124692
CSV(逗号分隔值)和XML(可扩展标记语言)都是广泛使用的格式,各有其特点和用途。CSV通常用于存储简单表格数据,而XML则适用于更复杂的数据结构,提供了一种自解释的方式来描述数据。本篇将详细讲解如何使用Java...
XML(Extensible Markup Language)和CSV(Comma Separated Values)是两种常见的数据存储格式,它们各有特点,适用于不同的应用场景。XML是一种结构化数据格式,它以树状结构表示数据,便于存储复杂的数据结构;而...
因此,无论你使用的是Windows、Mac还是Linux操作系统,只要安装了Java,都可以运行这个XML转CSV工具。 总的来说,这个“XML文件批量转换CSV文件工具”是数据处理工作流中的实用工具,尤其适用于需要将XML数据整合到...
- **XML转CSV**: - 解析XML文件,然后构建CSV文件。 - 示例代码如下: ```python import xml.etree.ElementTree as ET import csv xml_filename = 'data.xml' csv_filename = 'data.csv' tree = ET.parse...
XML(eXtensible Markup Language)和CSV(Comma Separated Values)是两种常见的数据存储格式,它们在处理和交换数据时各有优势。XML是一种结构化数据格式,它使用自定义标签来描述数据,适用于复杂的数据结构。而...
"表格转csv-xml-json"这个主题涉及了三种常见的数据格式:CSV(逗号分隔值)、XML(可扩展标记语言)和JSON(JavaScript对象表示法)。下面将详细阐述这三种格式以及它们之间的转换方法。 CSV是一种简单且广泛使用...
在IT领域,数据格式的转换是一项常见的任务,例如将结构化的CSV(逗号分隔值)文件转换成XML(可扩展标记语言)。Python作为一种强大的编程语言,提供了丰富的库和工具来处理这种转换。本篇文章将深入探讨如何使用...
CSV 到 XML 转换器这是一个用 Java 为 FOSSASIA 编写的 CSV 到 XML 转换器。如何使用它下载存储库并在同一文件夹中解压缩。 打开并编辑csvxmlconverter.bat并更改您自己目录的文件路径。 java -jar csvxmlconverter....
将editor目录放入unity工程assets目录下,在菜单栏可见到plugins。选中unity里面一个excel文件.xlsx文件,点击plugins的exceltools,选择转换后格式默认输出到excel同路径的文件
xml2csv 这是一个命令行实用程序和库,可根据用户提供的配置将XML文件转换为CSV文件。 为什么要使用xml2csv? xml2csv适用于以下情况: 您有一组XML文件: 所有都需要转换。 其中一些需要根据文件名进行转换。 ...
标题 "Information.Packaging.CSV2XML.v1.01-Lz0.rar" 提供了几个关键信息点,包括软件的名称、版本号以及压缩格式。这个标题暗示我们这是一个将CSV(逗号分隔值)文件转换为XML(可扩展标记语言)的工具,版本号为...
在"tests2csv"这个例子中,很可能是一个测试项目,包含了一些XML文件,目标是将这些XML文件中的数据用XPath选取出来并转化为CSV格式。这可能涉及到多个XML文件的处理,以及对不同XML结构的理解和适配。 总结一下,...
XML 转换 CSV文件,可打开查看对比xml文件
JSON(JavaScript Object Notation)、XML(eXtensible Markup Language)和CSV(Comma Separated Values)是三种常见的数据交换格式,广泛应用于数据存储、传输和解析。在IT行业中,了解并能熟练处理这些格式至关...
csv2string-xml-android python脚本将csv文件转换为Android strings.xml资源多种语言 :rainbow: 要求 python version 3 为了满足要求,请运行以下命令: $ pip install lxml 如果您不是在virtualenv中使用pip...
本教程将探讨如何在Unity中处理多语言操作,并利用Excel工具转换数据为XML、JSON和CSV格式,以便于管理和导入到项目中。 首先,让我们了解Unity中的多语言支持。Unity允许开发者创建一个资源包,包含不同语言版本的...