使用 JDOM 解析时处理特殊字符
Handling special characters while parsing with JDOM
我在下面有一个 xml,我正在使用 JDOM 2.0.5
进行解析
<?xml version=\"1.0\" encoding=\"UTF-8\"?><order><BGP1>true</BGP1><BGP2>Metro_C&amp;C</BGP2></order>
现在,在尝试使用 node.getValue() 获取标签的值时,其中节点的类型为 Element,它给我的节点值为
Metro_C&C and not Metro_C&amp;C
知道如何解决这个问题吗?
行为是正确的,你的期望是错误的。节点的文本值为Metro_C&C
。当您将其编码为 XML 时,&
字符必须替换为 &
,因为它对 XML.
具有特殊含义
但我的感觉是输入数据已经损坏。文本值可能应该是 Metro_C&C
,这将给出 Metro_C&C
的 XML 编码值。 amp;amp;
之类的模式表明有人对数据进行了两次编码。
我在下面有一个 xml,我正在使用 JDOM 2.0.5
进行解析<?xml version=\"1.0\" encoding=\"UTF-8\"?><order><BGP1>true</BGP1><BGP2>Metro_C&amp;C</BGP2></order>
现在,在尝试使用 node.getValue() 获取标签的值时,其中节点的类型为 Element,它给我的节点值为
Metro_C&C and not Metro_C&amp;C
知道如何解决这个问题吗?
行为是正确的,你的期望是错误的。节点的文本值为Metro_C&C
。当您将其编码为 XML 时,&
字符必须替换为 &
,因为它对 XML.
但我的感觉是输入数据已经损坏。文本值可能应该是 Metro_C&C
,这将给出 Metro_C&C
的 XML 编码值。 amp;amp;
之类的模式表明有人对数据进行了两次编码。