JAXB解组导致SAXParser异常
我试图解组xml导致saxparser异常,因为元素的值有一个未正确关闭的标记元素。这是我得到的,我必须处理的 以下是示例xml-JAXB解组导致SAXParser异常,jaxb,unmarshalling,Jaxb,Unmarshalling,我试图解组xml导致saxparser异常,因为元素的值有一个未正确关闭的标记元素。这是我得到的,我必须处理的 以下是示例xml- <GetResultResponse> <ExecutionID>17716868</ExecutionID> <Device>STLMJWB</Device> <Status>Success</Status> <ResultSet> <Co
<GetResultResponse>
<ExecutionID>17716868</ExecutionID>
<Device>STLMJWB</Device>
<Status>Success</Status>
<ResultSet>
<Command>RTRV-ALM-ALL:STLMJWB0201000003FIS:ALL:<ctag=dq>;</Command>
<CommandType>Raw</CommandType>
<commandResult>Success</commandResult>
<ResultSet>
</GetResultResponse>
我有两个类-一个用于GetResultResponse,另一个用于ResultSet
我试图解决的事情-
1.CharacterEscapeHandler-将此权限分配给解组器时出错,因为只有编组器接受此权限。
2.XmlJavaTypeAdapter-解组在处理和从适配器返回值之前发生。
3.BeforeUnmarshall-将侦听器设置为unmarshaller;为命令返回null。
4.XmlMixed和XmlAnyElement-需要正确的结束标记
如果你有任何疑问,请告诉我。
提前感谢您当前的XML无效。您需要在此处正确转义文本内容:
<Command>RTRV-ALM-ALL:STLMJWB0201000003FIS:ALL:<ctag=dq>;</Command>
RTRV-ALM-ALL:STLMJWB0201000003FIS:ALL:;
作为
RTRV-ALM-ALL:STLMJWB0201000003FIS:ALL:ctag=dq>;
Blaise,你说得对。数据输入xml来自其他系统,该系统使用标记[]发送数据。那么,在解组之前是否有任何选项可以转义文本内容以避免解析异常呢。注意:如果使用更改输入xml,则可以将其正确解组到相应的对象。谢谢
<Command>RTRV-ALM-ALL:STLMJWB0201000003FIS:ALL:<ctag=dq>;</Command>
<Command>RTRV-ALM-ALL:STLMJWB0201000003FIS:ALL:<ctag=dq>;</Command>