<?xml version="1.0" encoding="UTF-8"?>
<Response xmlns="http://www.demo.com/response/ResponseDetails"
xmlns:ft="http://www.demo.com/response/footer"
xmlns:hd="http://www.demo.com/response/header"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.demo.com/response/ResponseDetails
Response.xsd">
<hd:header>
<hd:STATUS>
<hd:MESSAGE>
<hd:MESSAGE_CODE>0000</hd:MESSAGE_CODE>
<hd:MESSAGE_DESC>SUCCESS</hd:MESSAGE_DESC>
<hd:MESSAGE_TYPE>SU</hd:MESSAGE_TYPE>
</hd:MESSAGE>
</hd:STATUS>
</hd:header>
<ResponseDetails>
<TAG1>tag 1 value</TAG1>
<TAG2>tag2 value</TAG2>
<TAG3>tag3 value</TAG3>
<TAG4>tag4 value</TAG4>
</ResponseDetails>
<ft:footer>
<ft:CODEDESCRIPTION />
</ft:footer>
</Response>
这是我从Web服务调用获得的示例响应,我无法将此字符串响应转换为object。上面的XML是我收到的确切内容。 如何使用JAXB或xstream将上述XML转换为对象?
答案 0 :(得分:1)
JAXB可以将XSD转换为Java类。有许多资源可以帮助您入门,包括Oracle的官方Introduction to JAXB。
你的XML包含像Prolog这样的代码不重要。将其视为文本。
还支持不同的命名空间。你可能想在Stack Overflow上阅读一些Blaise Doughan的非常有用的答案,例如one。
如果此答案过于宽泛,您可能希望缩小问题的范围。