XMLMapper - Изменить имя тега по умолчанию из элементов списка - PullRequest
0 голосов
/ 30 сентября 2019

Я хочу преобразовать файл CSV в файл XML, используя Джексона, используя следующую функцию:

private static byte[] csvToXml(Class<?> csvClass, byte[] csv) throws IOException {
    CsvMapper csvMapper = new CsvMapper();
    CsvSchema schema = csvMapper.schemaFor(csvClass);
    List<?> list = csvMapper.readerFor(csvClass).with(schema)
            .readValues(csv).readAll();

    XmlMapper xmlMapper = new XmlMapper();
    xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);
    byte[] xml = xmlMapper.writer()//
            .withDefaultPrettyPrinter()//
            .withRootName(csvClass.getSimpleName() + "List")//
            .writeValueAsBytes(list);
    return xml;
}

Ожидаемый формат xml выглядит примерно так:

<PersonList>
  <Person>
    <id>1</id>
...

Но сМой код:

<PersonList>
  <item>
    <id>1</id>
...

Как я могу изменить имя тега по умолчанию из элементов списка?

...