Jackson:解析xml时忽略了行分隔符

时间:2018-08-31 22:26:41

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

我有一个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元素内部的行刹车和间距。

问题:如何在忽略content元素的间距和行制动的情况下解析XML?

1 个答案:

答案 0 :(得分:2)

您可以像这样定义您的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", " ");
    }
  }

}