XML属性值中的控制字符

时间:2016-06-08 11:54:23

标签: xml xml-parsing

这是一个常见的问题,但我无法找到满足我的答案。 我使用专有工具(SIMATIC IT MES系统),当我使用'<'它的xml解析工具的属性值中的符号,它会扼杀它。 根据我的理解,字符串文字中的属性值应该被视为CDATA,因此XML应该是有效的,这就是大多数在线验证器所说的。 它是否正确?解析器有问题还是我错过了什么?有没有一个解决方案不涉及用它的实体等效手动替换违规字符?我取消了XML文本以供参考:

JavaScript

违规字符在ATT7中。

感谢。

1 个答案:

答案 0 :(得分:4)

不幸的是,你没有任何其他解决方案,但要逃避&#34;带有字符实体<的{​​{1}}。

如果查看XML规范§2.4 Character data and markup,您会看到定义如下:

  

字符数据

     

[14] CharData :: = [^&lt;&amp;] * - ([^&lt;&amp;] *&#39;]]&gt;&#39; [^&lt;&amp;] *)< / p>

简而言之,这意味着&lt;< 必须始终以XML格式进行转义。