【问题标题】:Jackson: Parse xml ignoring line separators杰克逊:解析 xml 忽略行分隔符
【发布时间】:2019-02-06 22:42:17
【问题描述】:

我有一个 xml,其中包含项目列表中的一些文本块。这些项目包含一些格式化的文本。它在新行之前使用换行符和空格进行格式化(我的 IDE 的标准格式)。例如:

<items>
    <item>
        <title>Long text Item</title>
        <content>
            Some long long long text that I
            want to format using line brakes 
            so that it will be more readable 
            in source code.
        </content>
    </item>
    ...
<items>

我使用以下代码读取 XML:

XmlMapper mapper = new XmlMapper();
List<ItemDTO> result = mapper.readValue(
        inputStream, new TypeReference<List<ItemDTO>>() {}
);

问题:这样的解析会保留content元素内的换行符和间距。

问题:如何解析 XML 忽略 content 元素中的间距和换行符?

【问题讨论】:

    标签: java xml xml-parsing jackson jackson-dataformat-xml


    【解决方案1】:

    你可以像这样定义你的 pojo:

    class ItemDTO {
      private String title;
      private String content;
      public String getTitle() {
        return title;
      }
      public void setTitle(String title) {
        this.title = title;
      }
      public String getContent() {
        return content;
      }
      public void setContent(String content) {
        if (content != null) {
          this.content = content.replace("\n", " ");
        }
      }
    
    }
    

    【讨论】:

    • 谢谢。我正在寻找一些杰克逊开箱即用的解决方案
    • 没有杰克逊开箱即用的解决方案来处理这个问题。您是否尝试过使用杰克逊自定义反序列化器?
    猜你喜欢
    • 2014-06-17
    • 1970-01-01
    • 2015-03-28
    • 2017-02-15
    • 1970-01-01
    • 2016-04-19
    • 2016-01-16
    • 2016-09-11
    • 1970-01-01
    相关资源
    最近更新 更多