JAXB 解组中的忽略 & 符号 (Java 1.8)
Ignoring & Symbol in JAXB Unmarshalling (Java 1.8)
我正在尝试解组 XML 其架构或多或少是这样的:
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="xs:int" minOccurs="0"/>
<xs:element name="scope" type="xs:int" minOccurs="0"/>
<xs:element name="code" type="xs:int" minOccurs="0"/>
<xs:element name="target" type="xs:string" minOccurs="0"/>
<xs:element name="message" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
我使用这种 XML 格式在 JMS 中传递消息。
现在我的问题是,消息标签偶尔会包含一个包含 &
的字符串(例如:Tom & Jerry)。现在我知道 XML 更喜欢 &
。但是有没有办法在解组期间忽略 &
。目前,它抛出异常:
[org.xml.sax.SAXParseException; lineNumber: 163; columnNumber: 45; The reference to entity "T" must end with the ';'
对此的任何建议都会有所帮助。我可以做一些字符串操作,比如搜索 &
并用 &
替换,一旦解组,只需将 &
添加回来。但不能 100% 确定它会起作用。
XML 并不“喜欢”它像 &
,它 需要 它。您的数据格式不正确 XML,因此没有 XML 工具会接受它。无论生成什么程序,XML 都已损坏,需要修复。
我正在尝试解组 XML 其架构或多或少是这样的:
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="xs:int" minOccurs="0"/>
<xs:element name="scope" type="xs:int" minOccurs="0"/>
<xs:element name="code" type="xs:int" minOccurs="0"/>
<xs:element name="target" type="xs:string" minOccurs="0"/>
<xs:element name="message" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
我使用这种 XML 格式在 JMS 中传递消息。
现在我的问题是,消息标签偶尔会包含一个包含 &
的字符串(例如:Tom & Jerry)。现在我知道 XML 更喜欢 &
。但是有没有办法在解组期间忽略 &
。目前,它抛出异常:
[org.xml.sax.SAXParseException; lineNumber: 163; columnNumber: 45; The reference to entity "T" must end with the ';'
对此的任何建议都会有所帮助。我可以做一些字符串操作,比如搜索 &
并用 &
替换,一旦解组,只需将 &
添加回来。但不能 100% 确定它会起作用。
XML 并不“喜欢”它像 &
,它 需要 它。您的数据格式不正确 XML,因此没有 XML 工具会接受它。无论生成什么程序,XML 都已损坏,需要修复。