无法将类型为“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;
}

  

原文地址:https://www.cnblogs.com/xuzichao/p/11011010.html