小编Flo*_*ian的帖子

JaxB 使用大写字母标签解组 XML

我使用 Sprint 3.0.5 和包含的 jaxb marshaller 与 REST 服务进行通信。另一家公司提供的服务通过 POST 向我的服务发送一个 XML,我必须在我的 Java 对象中解组该 XML 并处理它们。

我遇到的问题是,XML 标记以大写字母开头(他们不会更改),因此 JAXB 编组器无法解组对象。

XML 如下所示:

<Ssm_Packet>
<Version>1</Version>
<Protocol_ID>0</Protocol_ID>
<Packet_Id>{84ca597c-05e2-4357-897c-892f428c35ce}</Packet_Id>
<Priority>0</Priority>
<Source_Address>1:11111111111111</Source_Address>
<Destination_Address>2:LA3222222222222</Destination_Address>
<Body>Some TExt</Body>
<Billing />
</Ssm_Packet>
Run Code Online (Sandbox Code Playgroud)

我为 jaxb 定义的 bean 如下所示:

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;


@XmlRootElement(name="Ssm_Packet")
public class Ssm_Packet {
@XmlElement(name="Version")
private String version;
private String protocol_ID;
private String packet_Id;
private String priority;
private String source_Address;
private String destination_Address;
private String body;
private String billing;
/**
 * @return the version
 */
public …
Run Code Online (Sandbox Code Playgroud)

xml jaxb unmarshalling

3
推荐指数
1
解决办法
6563
查看次数

标签 统计

jaxb ×1

unmarshalling ×1

xml ×1