【问题标题】:Is it possible to configure the Jackson XmlMapper to use single quotes instead of double quotes when serializing?序列化时是否可以将 Jackson XmlMapper 配置为使用单引号而不是双引号?
【发布时间】:2020-02-07 15:54:12
【问题描述】:

我试图模仿一些非常古老的 C 代码的 xml 输出,这些代码使用单引号而不是双引号来表示 XML 属性。 Jackson 目前正在输出如下内容:

<test value="foobar"/>

但我现有的 C 代码会输出:

<test value='foobar'/>

相反。有没有办法配置 XmlMapper 来做到这一点?

【问题讨论】:

    标签: xml jackson-dataformat-xml


    【解决方案1】:

    我最终追踪了大约十年前的其他类似问题,发现无法重新配置 STAX 来执行此操作,因为它会破坏 XML 格式。我最终像这样扩展了 XmlMapper: ` 公共类 XmlMapperQuotes 扩展 XmlMapper { private static final long serialVersionUID = 1L;

        @Override
        public String writeValueAsString(Object object) throws JsonProcessingException {
            return super.writeValueAsString(object).replace("=\"", "='").replace("\"/", "'/");
        }
    }
    

    ` 希望不会在我脸上破裂和炸毁。我一直在处理用 C 编写的无法更改的遗留 XML 解析器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      • 2023-03-31
      • 2011-12-08
      • 1970-01-01
      • 1970-01-01
      • 2019-10-18
      • 1970-01-01
      相关资源
      最近更新 更多