【问题标题】:How to get the XML in Java spring controller如何在 Java Spring 控制器中获取 XML
【发布时间】:2017-12-19 07:59:24
【问题描述】:

有一个类似的控制器

public Response doSomething(@RequestBody SomeObject someObject) {
...
}

它获取一个 XML 并将其转换为 SomeObject。我想知道我们如何才能获得 xml [最好是字符串]。 Xml 打印在调试日志中,但如何在程序中将其作为字符串获取。

【问题讨论】:

  • 只需使用String 作为类型。
  • 我需要 SomeObject 和 String xml
  • 你不能。还有为什么你需要两者,用例是什么。
  • XML 作为 Java 对象具有非常复杂的结构,大约有 200 个类。我需要处理整个对象。其次,我只需要处理 40 个选定的字段,因此我可以使用 XML 上的字符串处理直接获取它们,而不是遍历这 20 个字段。
  • 再一次,为什么你需要两者...或者使用不同的映射库将 XML 映射到你可以使用的你选择的对象。

标签: java xml spring spring-boot


【解决方案1】:

您可以再次将对象序列化回 xml。这是一个example,说明如何做到这一点。

【讨论】:

  • 既然我们首先获得了 xml,除了解组对象之外还有其他方法。
  • 如果你想同时拥有 POJO 和 XML 字符串,我相信最好的选择是再次解组对象。请求正文只能被读取一次,并且已经被读取以在控制器的方法中创建对象。有一些技巧可以解决这个问题,但只会使解决方案更加复杂
  • @SaurabhPrajapati 很高兴听到这个消息 :) 那你能接受答案吗?
  • 我使用了解组,但不是 Jackson,我使用 JAXB 将 XML 编组到 SomeObject。所以我也使用了 JAXB 解组。
猜你喜欢
  • 2015-01-11
  • 1970-01-01
  • 1970-01-01
  • 2016-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多