.net 操作xml --移除注释节点


 1 /// 
 2         /// xml字符串转xml文档  忽略注释信息
 3         /// 
 4         /// xml字符串
 5         /// 
 6         public  XmlDocument XmlFromStrIgnoreComment(string sXml)
 7         {
 8             try
 9             {
10                 XmlDocument _XmlDocument = new XmlDocument();
11                 _XmlDocument.LoadXml(sXml);
12                 return this.XmlRemoveComment(_XmlDocument);
13             }
14             catch (Exception)
15             {
16                 return null;
17             }
18 
19         }
20         /// 
21         /// xml文档移除 注释节点
22         /// 
23         /// xml文档
24         /// 
25         public  XmlDocument XmlRemoveComment(XmlDocument sXml)
26         {
27             List dXmlNodeList = new List();
28             this.GetXmlRemoveComment(sXml.ChildNodes, dXmlNodeList);
29             foreach (XmlNode vXmlNode in dXmlNodeList)
30             {
31                 vXmlNode.ParentNode.RemoveChild(vXmlNode);
32             }
33             return sXml;
34         }
35 
36         /// 
37         /// 获取xml中的 注释节点
38         /// 
39         /// 待查找结点
40         /// 注释节点
41         public void GetXmlRemoveComment(XmlNodeList xmlNodeList, List dXmlNodeList)
42         {
43             foreach (XmlNode xmlNode in xmlNodeList)
44             {
45                 if (xmlNode.NodeType == XmlNodeType.Comment)
46                 {
47                     dXmlNodeList.Add(xmlNode);
48                 }
49                 else
50                 {
51                     if (xmlNode.HasChildNodes)
52                     {
53                         GetXmlRemoveComment(xmlNode.ChildNodes, dXmlNodeList);
54                     }
55                 }
56             }
57         }