【问题标题】:period symbol in xml causing issuexml中的句点符号导致问题
【发布时间】:2015-03-25 16:17:42
【问题描述】:

我有一个如下的 xml:

<expectedJson> { "x":"give him $12&#46;25" } </expectedJson>

我正在做的是:将嵌入的 json 与实际的 json 进行比较。但是在解析这个 xml 之后,&amp;#46; 被转换为 . 即句号。

我希望它被解释为&amp;#46; 而不是.。有人可以帮忙吗?

【问题讨论】:

  • 您需要对内容进行 XML 转义。
  • 您会生成 XML 吗?如果是这样,请使用 CDATA (&lt;expectedJson&gt;&lt;![CDATA[ {"x":"give him $12&amp;#46;25"} ]]&gt;&lt;/expectedJson&gt;) 转义所有 JSON 数据

标签: java xml json


【解决方案1】:

& 符号需要转义以避免它被视为实体的开始。 See this to escape the ampersand.

<expectedJson>
{
"x":"give him $12&#038;#46;25"
}
</expectedJson>

<expectedJson>
{
"x":"give him $12&amp;#46;25"
}
</expectedJson>

【讨论】:

    【解决方案2】:

    XML 具有特殊字符,例如 &amp;amp;,它们在 XML 中具有特殊含义。因此,您不能直接将其用作数据。你需要逃避它。例如。 &amp;amp; 转义后应该变成&amp;amp;。关于XML中特殊字符处理的更多细节,可以参考我的个人博文->Escaping special characters of XML in Java

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多