XML 内容过滤
Xml文件内容 是不允许包含特殊符号的,如果是自己设计或生成的XML,那么可以通过将特殊符号换成转意字符即可,但往往会因为某种原因造成无法修改XML的结构,为了解决这个替换的问题,特花费了一些时间找到了如下解决办法。
1 string strxml = @"<?xml version='1.0' encoding='GBK' standalone='yes' ?>
2 <input><12ty>>>3</input>";
3 foreach (Match data in Regex.Matches(strxml, @">([^\s]+?)</"))
4 {
5 string d = data.Value.Substring(1, data.Value.Length - 3);
6 strxml = strxml.Replace(d, System.Security.SecurityElement.Escape(d));
7 }
8 Console.WriteLine(strxml);
9 System.Xml.XmlDocument xml = new System.Xml.XmlDocument();
10
2 <input><12ty>>>3</input>";
3 foreach (Match data in Regex.Matches(strxml, @">([^\s]+?)</"))
4 {
5 string d = data.Value.Substring(1, data.Value.Length - 3);
6 strxml = strxml.Replace(d, System.Security.SecurityElement.Escape(d));
7 }
8 Console.WriteLine(strxml);
9 System.Xml.XmlDocument xml = new System.Xml.XmlDocument();
10
11 xml.LoadXml(strxml);
通过正则表达式 查找出 内容部分,然后依次去替换。

浙公网安备 33010602011771号