2015-04-21 6 views
2

Я пытаюсь обновить следующий код для вывода CSV-файла в XML. Нижеприведенный код выполняет блестящую работу по преобразованию CSV в JSON с использованием заголовков в CSV для создания требуемого JSON.Java: CSV to XML с помощью Jackson

Но я хочу, чтобы выводить как 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); 
    } 

} 

ответ

2

Это не просто вопрос о замене ObjectMapper с XmlMapper?

+1

Я пробовал это, но не мог понять ошибку - оказывается, мне нужно загрузить некоторые дополнительные JAR. Благодаря! –