【问题标题】:Handling special characters while parsing with JDOM使用 JDOM 解析时处理特殊字符
【发布时间】:2015-01-14 08:33:20
【问题描述】:

下面有一个 xml,我正在使用 JDOM 2.0.5 进行解析

<?xml version=\"1.0\" encoding=\"UTF-8\"?><order><BGP1>true</BGP1><BGP2>Metro_C&amp;amp;C</BGP2></order>

现在,当尝试使用 node.getValue() 获取标签的值时,节点的类型为 Element,它给了我节点值

Metro_C&amp;C and not Metro_C&amp;amp;C

知道如何解决这个问题吗?

【问题讨论】:

  • 它正在做它的工作。节点值Metro_C&amp;amp;C。如果您的文档包含A&amp;lt;B,则节点值为A&lt;B
  • 如何阻止这种行为?
  • 你为什么要停止这种行为?

标签: java xml encoding jdom-2


【解决方案1】:

行为是正确的,你的期望是错误的。节点的文本值为Metro_C&amp;amp;C。当您将此编码为 XML 时,&amp;amp; 字符必须替换为 &amp;amp;,因为它对 XML 具有特殊含义。

但我的感觉是输入数据已经损坏。文本值可能应该是Metro_C&amp;amp;C,这将给出Metro_C&amp;amp;C 的XML 编码值。像amp;amp; 这样的模式表明有人对数据进行了两次编码。

【讨论】:

    猜你喜欢
    • 2013-09-18
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多