是否可以读取XML中的ASCII控制字符?

时间:2016-09-26 09:13:09

标签: c# xml browser ascii

我是XML新手,我需要知道,

是否可以读取XML中的ASCII控制字符?或

是否可以用XML替换ASCII控制字符?

1 个答案:

答案 0 :(得分:3)

XML 1.1允许除U + 0000以外的所有Unicode字符,但XML 1.0具有受限制的字符集。来自section 2.2 of the 5th edition

Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

这是底层字符集 - 你不能使用CharRef等来创建它们。

不幸的是,XML 1.0基本上是在各地使用的; XML 1.1从未真正起飞过。这意味着您不应该尝试生成包含ASCII控制字符的XML文档 - 它们不是有效的XML文档,尽管很多XML API仍然会让您创建它们:(

基本上,在将数据传递给您正在使用的任何XML API之前,应删除控制字符。如果你需要保留它们,你需要创建自己的转义或类似的东西(例如UTF-8编码整个文本,然后在base64中表示...都非常讨厌)。