在JAVA中,可以使用JAXB(Java Architecture for XML Binding)库来将CSV文件转换为XML,并创建多个子对象。JAXB是Java中用于将Java对象与XML文档相互转换的标准API。
以下是实现该功能的步骤:
下面是一个示例代码,演示了如何从CSV文件中创建多个子对象并将其转换为XML:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
public class CSVtoXMLConverter {
public static void main(String[] args) {
try {
// 1. 创建Java对象模型
class Person {
private String name;
private int age;
private String address;
// getter/setter方法
public Person() {
}
public Person(String name, int age, String address) {
this.name = name;
this.age = age;
this.address = address;
}
}
// 2. 解析CSV文件
List<Person> persons = new ArrayList<>();
BufferedReader reader = new BufferedReader(new FileReader("input.csv"));
String line;
while ((line = reader.readLine()) != null) {
String[] fields = line.split(",");
String name = fields[0];
int age = Integer.parseInt(fields[1]);
String address = fields[2];
// 3. 创建子对象
Person person = new Person(name, age, address);
persons.add(person);
}
reader.close();
// 4. 使用JAXB将对象转换为XML
JAXBContext jaxbContext = JAXBContext.newInstance(Person.class);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
// 5. 生成XML文件
FileWriter writer = new FileWriter("output.xml");
for (Person person : persons) {
marshaller.marshal(person, writer);
}
writer.close();
System.out.println("XML文件生成成功!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
这个示例代码假设CSV文件的格式为:姓名,年龄,地址。你可以根据实际情况进行修改。
推荐的腾讯云相关产品:腾讯云对象存储(COS),用于存储生成的XML文件。您可以在腾讯云官网上找到有关腾讯云对象存储的详细信息和产品介绍。
腾讯云对象存储(COS)产品介绍链接地址:https://cloud.tencent.com/product/cos
领取专属 10元无门槛券
手把手带您无忧上云