gpt4 book ai didi

java - Jackson XML 映射器强制使用小写 XML 标签

转载 作者:行者123 更新时间:2023-11-30 01:46:07 25 4
gpt4 key购买 nike

我正在尝试将带有 XMLElement 注释的 POJO 转换为 XML 字符串。我已将变量名称大写,注释名称也大写。

当我运行下面的代码片段时,我得到了下面的 XML 示例,所有标签名称都是小写的。我一直在尝试启用/禁用功能,但没有发现任何可以打开/关闭强制小写 XML 标记的功能。

Value of String xml variable below:
ACTUAL OUTPUT:
<root><field1>value</field1><field2>value2<field2><field3>value3<field3><root>

EXPECTED OUTPUT:
<root><Field1>value</Field1><Field2>value2<Field2><Field3>value3<Field3><root>


public class Object1 {
@XmlElement(name = "Field1", required = true)
protected String Field1;
@XmlElement(name = "Field2", required = true)
protected String Field2;
@XmlElement(name = "Field3", required = true)
protected String Field3;
}

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.JacksonXmlModule;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.fasterxml.jackson.databind.*;

...


JacksonXmlModule xmlModule = new JacksonXmlModule();
xmlModule.setDefaultUseWrapper(false);
ObjectMapper xmlMapper = new XmlMapper(xmlModule);
xmlMapper.disable( MapperFeature.USE_STD_BEAN_NAMING );

// convert the object into xml string
// object1 is an instance of Object1 above with assigned values
String xml = xmlMapper.writeValueAsString(object1);

最佳答案

这是一个解决方案,但也许不是您正在寻找的答案。

@XmlElement 注释替换为 @JacksonXmlProperty 注释。使用 localName 属性设置标签名称。

这是一个例子:@JacksonXmlProperty(localName = "Field1")

关于java - Jackson XML 映射器强制使用小写 XML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57912316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com