【问题标题】:Java: CSV to XML using JacksonJava:使用 Jackson 将 CSV 转换为 XML
【发布时间】:2015-06-28 09:24:17
【问题描述】:

我正在尝试更新以下代码以将 CSV 文件输出到 XML。下面的代码在使用 CSV 中的标头生成所需的 JSON 将 CSV 转换为 JSON 方面做得非常出色。

但我想改为输出为 XML,我似乎找不到任何好的建议来完成此操作。

不胜感激。

package reader;

import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.databind.MappingIterator;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;

public class JacksonPackage
{

    public static void main(String[] args) throws Exception
    {
        File input = new File("c:\\temp\\data.csv");
        File output = new File("c:\\temp\\data.json");

        List<Map<?, ?>> data = readObjectsFromCsv(input);
        writeAsJson(data, output);
    }

    public static List<Map<?, ?>> readObjectsFromCsv(File file)
            throws IOException
    {
        CsvSchema bootstrap = CsvSchema.emptySchema().withHeader();
        CsvMapper csvMapper = new CsvMapper();
        MappingIterator<Map<?, ?>> mappingIterator = csvMapper
                .reader(Map.class).with(bootstrap).readValues(file);
        return mappingIterator.readAll();
    }

    public static void writeAsJson(List<Map<?, ?>> data, File file)
            throws IOException
    {
        ObjectMapper mapper = new ObjectMapper();
        mapper.writeValue(file, data);
    }

}

【问题讨论】:

    标签: java xml csv jackson


    【解决方案1】:

    不就是把ObjectMapper换成XmlMapper吗?

    【讨论】:

    • 我试过了,但无法理解错误 - 结果我需要加载一些额外的 JAR。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 2019-02-02
    • 2014-02-20
    相关资源
    最近更新 更多