java - 如何将此 xml 响应映射到 java 对象
问题描述
我将此响应映射到 java 对象时遇到问题。任何人都可以帮忙吗?字符串中的响应如下所示:
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="Tracking.php" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:getTracksResponse>
<return xsi:type="ns2:Map">
<item>
<key xsi:type="xsd:string">Authorized</key>
<value xsi:type="xsd:int">1</value>
</item>
<item>
<key xsi:type="xsd:string">Error</key>
<value xsi:type="xsd:string"/>
</item>
<item>
<key xsi:type="xsd:string">Response</key>
<value xsi:type="ns2:Map">
<item>
<key xsi:type="xsd:string">HAWB</key>
<value xsi:type="xsd:string">123456789A</value>
</item>
<item>
<key xsi:type="xsd:string">Reference</key>
<value xsi:nil="true"/>
</item>
<item>
<key xsi:type="xsd:string">Tracks</key>
<value SOAP-ENC:arrayType="ns2:Map[2]" xsi:type="SOAP-ENC:Array">
<item xsi:type="ns2:Map">
<item>
<key xsi:type="xsd:string">Date</key>
<value xsi:type="xsd:string">2019-05-25</value>
</item>
<item>
<key xsi:type="xsd:string">Time</key>
<value xsi:type="xsd:string">09:19:24</value>
</item>
<item>
<key xsi:type="xsd:string">Code</key>
<value xsi:type="xsd:string">XXX122</value>
</item>
<item>
<key xsi:type="xsd:string">Description</key>
<value xsi:type="xsd:string"/>
</item>
<item>
<key xsi:type="xsd:string">Comment</key>
<value xsi:type="xsd:string">Comment text</value>
</item>
<item>
<key xsi:type="xsd:string">Final</key>
<value xsi:type="xsd:string">0</value>
</item>
</item>
<item xsi:type="ns2:Map">
<item>
<key xsi:type="xsd:string">Date</key>
<value xsi:type="xsd:string">2019-05-25</value>
</item>
<item>
<key xsi:type="xsd:string">Time</key>
<value xsi:type="xsd:string">10:11:00</value>
</item>
<item>
<key xsi:type="xsd:string">Code</key>
<value xsi:type="xsd:string">XXX123</value>
</item>
<item>
<key xsi:type="xsd:string">Description</key>
<value xsi:type="xsd:string"/>
</item>
<item>
<key xsi:type="xsd:string">Comment</key>
<value xsi:type="xsd:string"/>
</item>
<item>
<key xsi:type="xsd:string">Final</key>
<value xsi:type="xsd:string">0</value>
</item>
</item>
</value>
</item>
</value>
</item>
</return>
</ns1:getTracksResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
我只是不知道如何将它映射到 java 对象。我试图将它直接获取到 java 对象,但问题在于“项目”。项目有时是对象,有时是列表。任何想法如何解决这个问题?
解决方案
推荐阅读
- spring-boot - MeterRegistry 计数器不增加
- c++ - 在 Windows 10 上使用 C++ 中的线程出现问题(使用 g++ 作为编译器)
- python - python ast SyntaxError:未知原因的无效语法
- email - Amazon LEX 本机电子邮件槽类型无法识别以 4 位数字结尾的电子邮件
- node.js - 将 NodeJS 缓冲区转换为整数
- core - 配置文件错误启动 Nagios 服务
- php - 如何通过类似查询对mysql结果进行排序?
- node.js - 盖茨比构建失败。无法构建“夏普”
- haskell - 免费 Monad 与显式传递函数
- angular - 角度 7:过滤后的数据不发送到子组件