XML 字符-XmlTextReader 解析 XML 时遇到特殊字符出错

作者:vkvi 来源:ITPOW(原创) 日期:2008-12-26

这里说的特殊字符不是 &、< 这种 HTML 字符,而是类似“”这样一些无效字符,如下图(第一个字符是空白的):

XML 无效字符。最容易遇到的是那个点,编辑人员在编辑某些文章的时候,需要用类似“中国●北京第三届……”。

XmlTextReader 在解析时就会出错(其它语言的解析器也是如此),解决办法是解析之前,先替换掉这些特殊字符。

Regex regex = new Regex("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]");
xml = regex.Replace(xml, "");

上例中 xml 是 XML 字符串,Regex 的名称空间是 System.Text.RegularExpressions。

上面正则表达式中双斜线中的第一个是 C# 中转义字符,觉得看不顺眼、难理解,也可以这样用:@"[\x00-\x08\x0b-\x0c\x0e-\x1f]",前面加上 @。

相关文章