JAXB 解组中的忽略和符号 (Java 1.8)
Posted
技术标签:
【中文标题】JAXB 解组中的忽略和符号 (Java 1.8)【英文标题】:Ignoring & Symbol in JAXB Unmarshalling (Java 1.8) 【发布时间】:2021-12-30 10:05:13 【问题描述】:我正在尝试解组和 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 中传递消息。
现在我的问题是,消息标签偶尔会包含一个包含&amp;
的字符串(例如:Tom & Jerry)。现在我知道 XML 更喜欢它像 &amp;
。但是有没有办法在解组过程中忽略&amp;
。目前,它正在抛出异常:
[org.xml.sax.SAXParseException; lineNumber: 163; columnNumber: 45; The reference to entity "T" must end with the ';'
对此的任何建议都会有所帮助。我可以做一些字符串操作,比如搜索&amp;
并替换为&amp;
,一旦解组,只需将&amp;
添加回来。但不是 100% 确定它会起作用。
【问题讨论】:
【参考方案1】:XML 并不“喜欢”它像&amp;
,它需要它。您的数据不是格式良好的 XML,因此没有 XML 工具会接受它。无论生成什么程序,XML 都会被破坏并需要修复。
【讨论】:
很公平!谢谢(你的)信息。就是字符串操作!以上是关于JAXB 解组中的忽略和符号 (Java 1.8)的主要内容,如果未能解决你的问题,请参考以下文章