JAXB解组导致SAXParser异常

JAXB解组导致SAXParser异常,jaxb,unmarshalling,Jaxb,Unmarshalling,我试图解组xml导致saxparser异常,因为元素的值有一个未正确关闭的标记元素。这是我得到的,我必须处理的 以下是示例xml- <GetResultResponse> <ExecutionID>17716868</ExecutionID> <Device>STLMJWB</Device> <Status>Success</Status> <ResultSet> <Co

我试图解组xml导致saxparser异常,因为元素的值有一个未正确关闭的标记元素。这是我得到的,我必须处理的

以下是示例xml-

<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:&lt;ctag=dq>;</Command>