我不知道有什么方法可以在不写一点代码的情况下完成这个任务……你需要两个不同的库: 一个 CSV 解析框架 一个 XML 序列化框架 我建议使用 OpenCSV(一个 SourceForge 项目,用于解析 CSV 数据)作为 CSV 解析器(除非您想写自己的 CSV 解析器来增加乐趣)。XML 序列化框架应该是可扩展的,以便在您想要将大型(或巨大的)CSV文件转换为XML时可以使用:我的推荐是 Sun Java Streaming XML Parser Framework(请参见此处),它允许拉取解析和序列化。
Jackson处理器系列有多个数据格式的后端,不仅限于JSON,还包括XML(https://github.com/FasterXML/jackson-dataformat-xml)和CSV(https://github.com/FasterXML/jackson-dataformat-csv/)后端。转换需要使用CSV后端读取输入,并使用XML后端写入。如果您拥有(或可以定义)每行(CSV)条目的POJO,则最容易实现此操作。这不是严格的要求,因为CSV中的内容也可以“无类型”读取(一系列String数组),但在XML输出方面需要更多的工作。对于XML方面,您需要一个包装根对象来包含要序列化的对象数组或List。
这可能是一个过于基本或有限的解决方案,但你不能对文件的每一行进行 String.split() 操作,记住第一行的结果数组以生成 XML,然后在循环的每次迭代中使用适当的 XML 元素填充每行的数据数组。
我也曾遇到同样的问题,需要将CSV文件转换为XML文件,但在网络上没有找到免费且好用的应用程序。因此,我编写了自己的Java Swing CSVtoXML应用程序。你可以从我的网站这里下载使用,希望能对你有所帮助。如果不行,你也可以像我一样轻松编写自己的应用程序。源代码在JAR文件中,如果不能满足你的需求,可以根据需要进行修改。