众所周知,
XML标准规定的无效字符的Ascii码十六进制范围为:
0x00 - 0x08
0x0b - 0x0c
0x0e - 0x1f
对于这些字符,.net早就自带了一个静态类XmlConvert,
利用它的EncodeName转义为对xml来说有效数字实体编码。,然后读取时候DecodeName
我至少碰到5个.neter朋友问同样的问题:为什么xml中有一些特殊字符(比如稀奇古怪的Ascii符号),解析就报错?
看到过一些.neter的解决办法,有的是用js客户端escape,有的通过得到ascii码,根据ascii<32,然后干脆就去掉这些字符了。
js的效率,显然是吃不消大数据的。
去掉了哪些字符,你的网站用户会有怨言的,因为她/他好不容易起了个个性的名儿,呵呵
好了,记得用XmlConvert
ps:可怜的新浪,抹煞了多少人起名的创意?