java - 如何将带有命名空间的 XML 字符串解码为 Java 对象

标签 java xml jaxb

嗨,当我点击客户端时,我收到了以下字符串响应。

我需要对其进行解码,以便可以在 Java 对象中设置值并将其发送回前端。请帮我将以下 xml 字符串转换为 jaxb 对象。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:ValidateAustralianAddressResponse xmlns:ns2="http://api.auspost.com.au/ValidateAustralianAddress:v1">
<Address><AddressLine>481 CHURCH ST</AddressLine><SuburbOrPlaceOrLocality>RICHMOND</SuburbOrPlaceOrLocality><StateOrTerritory>VIC</StateOrTerritory><PostCode>3121</PostCode><DeliveryPointIdentifier>55461002</DeliveryPointIdentifier><Country><CountryCode>AU</CountryCode><CountryName>Australia</CountryName></Country></Address>
<ValidAustralianAddress>true</ValidAustralianAddress>
</ns2:ValidateAustralianAddressResponse>

最佳答案

元数据

由于只有根元素是命名空间限定的,因此您只需在 @XmlRootElement 注释上设置命名空间参数。

@XmlRootElement(name="ValidateAustralianAddressResponse", namespace="http://api.auspost.com.au/ValidateAustralianAddress:v1")
public class ValidateAustralianAddressResponse {
}

了解更多信息


将 XML 转换为对象

您可以将 XML String 包装在 StringReader 的实例中并对其进行解码。

了解更多信息

关于java - 如何将带有命名空间的 XML 字符串解码为 Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18537303/

相关文章:

java - @GenerateValue 注解,构造函数值

mysql - 将 mysql 表导入 XML 文件

java - 跳过 xml 版本 1.1 的 CDATA 部分中的 ]]>

java - 在poi中调用 "write"方法时出现NoClassDefFoundError

java - 如何从另一个 jar 运行一个 jar 文件

java - Spring-ws XML 炸弹保护,有人知道吗?

java - 编码java代理

java - jackson 与 jaxb

java - 如何转义 System.out.format 中的 ',' 字符?

java - Java 中使用 varargs 参数重载方法时的编译器错误