【问题标题】:How to marshal an object into XML-RPC format in Java?如何在 Java 中将对象编组为 XML-RPC 格式?
【发布时间】:2019-10-18 22:21:08
【问题描述】:

我正在开发一个 Web 应用程序,我需要将对象编组为 XML-RPC 格式。我应该使用什么封送方法?

假设我有以下 POJO 类。

public class Employee
{
    private Integer empId;
    private String empName;
}

其对象的预期结果(XML-RPC)应如下所示。

<methodCall>
    <methodName>getEmployee</methodName>
    <params>
        <param>
            <struct>
                <member>
                    <name>empId</name>
                    <value>
                        <int>23</int>
                    </value>
                </member>
                <member>
                    <name>empName</name>
                    <value>
                        <string>John</string>
                    </value>
                </member>
            </struct>
        </param>
    </params>
</methodCall>

【问题讨论】:

  • 您确定要将 pojo 表示为带有参数的 methodCall 吗?
  • 我已经更正了对象的 xml-rpc 表示。请立即检查。

标签: java parsing serialization xml-rpc


【解决方案1】:

如果您拥有 XML 并希望从中实例化对象,则需要进行解析。在这种情况下,您将使用 DOM 解析器解析 XML,然后遍历树以创建对象。

从对象创建 XML sn-p 的一种好方法是使用模板解决方案,例如 Velocity 或 Freemarker。您将模板和对象实例传递给模板引擎,模板引擎会为您创建一个 XML 作为字符串。

如果您更喜欢 JSON 而不是 XML,这个问题就更容易了。您可以使用 Jackson JSON 在对象和 JSON 之间来回切换。您的 JSON 消息将比 XML 轻。

【讨论】:

  • 是的,JSON 更可取。但要求是仅使用 XML-RPC。
  • 模板,然后。 Velocity 最近进行了更新,但作为 Web MVC 选择已从 Spring Boot 中删除。试试 FreeMarker。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-10
  • 1970-01-01
  • 2015-11-27
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
相关资源
最近更新 更多