无法将类型为“System.Xml.XmlComment”的对象强制转换为类型“System.Xml.XmlElement”
Posted xuzichao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法将类型为“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;
以上是关于无法将类型为“System.Xml.XmlComment”的对象强制转换为类型“System.Xml.XmlElement”的主要内容,如果未能解决你的问题,请参考以下文章
C# 无法将类型为“System.Byte[]”的对象强制转换为类型“System.Data.DataTable
无法将 [Struct] 类型的值快速转换为 [string] 类型
无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Micro