无法将类型为“System.Xml.XmlComment”的对象强制转换为类型“System.Xml.XmlElement”
今天开发C#项目时,有一个需要读取XML的功能点。编码过程中遇到了如标题所示的异常,如下图所示:
查询官网后得知XmlComment是注释节点的类型,如下图所示:
于是得出结论,使用XmlDocument去解析XML文件时,注释也会作为一个节点被加载到节点列表里。因此后续如果需要添加注释的话,可以考虑在节点里增加一个属性“comment”或者“text”专门用来存放注释信息,这样可以大大增加XML文件对于其他程序的可读性。如果说仅仅是自己使用的话,可以在程序里进行类型的判断。遍历XML节点时判断一下节点属性,如果是注释那么就跳过,代码如下:
foreach (XmlNode data in nodeList) { if (data.NodeType == XmlNodeType.Comment) { continue; } XmlElement element = (XmlElement)data; }
posted on 2019-06-12 17:28 DluT_eDdy 阅读(1050) 评论(0) 编辑 收藏 举报