【发布时间】:2012-03-09 10:11:30
【问题描述】:
我正在使用 JAXB 解组 xml,但它突然返回错误的值,它返回了错误的值。前一天它工作正常。
节点:
<ListID>166</ListID>
解组码是:
public class ResponseParser {
static Object obj;
public static Object parseResponse(String response, Class<?> ctxClass) {
try {
ByteArrayInputStream input = new ByteArrayInputStream(response.getBytes());
JAXBContext jc = JAXBContext.newInstance (ctxClass);
Unmarshaller unmarshaller = jc.createUnmarshaller();
obj = unmarshaller.unmarshal(input);
}
catch (JAXBException e) {
}
return obj;
}
}
它正在返回:-90。但它像之前一样按顺序返回-90它是-91
请帮忙!
【问题讨论】:
-
您是否通过调试器运行了您的代码,并确定了传递给解组器的确切内容?
-
所以
response是“166 ”,当您使用 JAXB 解组时,您会得到 -90(或任何其他序列号)?obj是什么类型?也许您可以尝试使用具体类而不是通用通配符? -
是的,响应是 "
166 " 。 obj 是对象类型。它是工作文件,应用程序已准备就绪,但我不知道突然发生了什么。 -
@TusharAgarwal - 我很困惑输入值
166与输出有什么关系。你为什么期待-90? -
@BlaiseDoughan 我不喜欢
-90我需要节点<ListId>中的值116,但它正在返回-90。
标签: java xml-serialization jaxb