Как сериализовать объект XML в строку XML, используя Джексон XML Mapper без потери чувствительности к регистру тегов xml? - PullRequest
0 голосов
/ 12 февраля 2020

Мой ввод XML ДОМ:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
    name = "docTypeRef_RequestedText",
    propOrder = {}
)
public class DocTypeRefRequestedText {
    @XmlElement(
        name = "Name"
    )
    protected BigDecimal name;

    @XmlElement(
        name = "Weight",
        required = true
    )
    protected BigDecimal weight;

    @XmlElement(
        name = "IdentityNumber"
    )
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(
        name = "token"
    )
    protected String identityNumber;
}

После сериализации полученная строка вывода XML выглядит следующим образом:

<DocTypeRefRequestedText>
  <name>testname</name>
  <weight>23.5</weight>
  <identityNumber>testiden11</identityNumber>
</DocTypeRefRequestedText>

Фрагмент кода выглядит следующим образом:

public static String convertXmlObjectToString(Object objectToParse, String carrier, String retailer) {
        try {
//            return XML_MAPPER.writeValueAsString(objectToParse);
            XML_MAPPER.enable(SerializationFeature.INDENT_OUTPUT);
//            XML_MAPPER.enable(SerializationFeature.);
            XML_MAPPER.setDefaultUseWrapper(false);
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            XML_MAPPER.writeValue(byteArrayOutputStream, objectToParse);
            return byteArrayOutputStream.toString();
        } catch (JsonProcessingException e) {
            LOGGER.error(PARSING_XML_ERROR, carrier, retailer);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

Мой ожидаемый выходной результат следующий:

<DocTypeRefRequestedText>
  <Name>testname</Name>
  <Weight>23.5</Weight>
  <IdentityNumber>testiden11</IdentityNumber>
</DocTypeRefRequestedText>

Пожалуйста, помогите, какие параметры я могу изменить или какую функцию сериализации я должен включить, чтобы не потерять чувствительность к регистру тегов XML?

Примечание: я не могу изменить определение POJO XML, так как это внешний класс. Поэтому нужно внести изменения в том, как я могу сериализовать.

Заранее спасибо.

...