0

我正在使用 JAXBContext 来解组 XML 字符串。但是如果字符串在标签内包含“&”字符,我的代码将失败。但我需要保持这样的价值。

我怎样才能做到这一点?

4

2 回答 2

1

根据您的评论回复,您有“xml”之类的

<category>Play & Boy</category>

不是xml,因为 xml 规则禁止在此位置使用未转义的 '&' 字符。

您应该将此类“xml”更改为

<category>Play &amp; Boy</category>

在源 xml 中,使其成为格式良好的 xml。

您可以在预处理器中为这个格式不正确的 xml 将“&”编码为“&”,但您必须自己编写该预处理代码,并注意转义已经是一部分的“&”字符的编码,例如&amp;or &lt;,因为您不想将它们转换为&amp;amp;and &amp;lt;

如果你能做到,你最好让这个 xml 的供应商提供格式良好的 xml。

于 2012-11-07T15:58:00.620 回答
1

您的问题有两种可能性:

  1. 删除 &: 之前和之后的所有空格<category>Play&Boy</category>应该可以工作。
  2. 更好的解决方案:<category><![CDATA[Play & Boy]]></category>将被解组为“Play & Boy”。
于 2013-03-27T13:45:48.933 回答