今天在做ASP.NET操作XML文档的过程中,发现了两个类:XmlNode和XmlElement。这两个类的功能极其类似(因为我们一般都是在对Element节点进行操作)。上网搜罗了半天,千篇一律的答案。永远说不到重点,有些人回答又特别含糊,无奈之下,自己设断点尝试对比效果,现在总结如下:
1、通过继承关系XmlElement继承自XmlLinkedNode又继承自XmlNode类,由此可知XmlElement是XmlNode的子类。我们知道子类继承了父类所有的属性和方法,因此,XmlNode所拥有的方法和属性,在XmlElement类中也是可以使用的。
2、XmlElement是特殊的XmlNode类,Xml节点有多种类型:属性节点、注释节点、文本节点、元素节点等。也就是XmlNode是这多种节点的统称。但是XmlElement专门指的就是元素节点。
3、XmlElement是具现类,可以直接实例化,而XmlNode是抽象类,必须通过XmlDocument实例通过CreateNode创建。
4、XmlElement拥有众多对Attribute的操作方法,可以方便的对其属性进行读写操作(XmlNode也可以通过Attributes属性获取属性列表)。
5、在网上看到有人这么评论这两个类的区别:XmlNode包含子节点,XmlElement只包含属性及其本身不含有子节点。但是我通过代码测试,发现即使是XmlElement,也可以通过ChildNodes来获取子节点列表。虽然在断点中断模式下,我并没有发现XmlElement有ChildNodes属性。举例如下:
<Book img="aspnet.jpg"> //是XmlNode也是XmlElement,但是img以及aspnet.jpg只是XmlNode
<Name> //既是XmlNode 也是XmlElement
C# //只是XmlNode
</Name>
</Book>
也就是元素节点可以相应转换为XmlElement,这样既可以使用XmlNode的功能,也可以使用它特有的对属性的操作方法。
任意节点都可以使用XmlNode,因为XmlNode是所有Node的父类。
这只是我个人试验后的戳见,有不对的地方,或者是有需要补充的地方希望前辈们指正。
XmlNode与XmlElement的区别总结
来源: 2016-06-27 15:44:52 人气: 我有话说( 0 人参与)
今天在做ASP.NET操作XML文档的过程中,发现了两个类:XmlNode和XmlElement。这两个类的功能极其类似(因为我们一般都是在对Element节点进行...
上一篇:BinaryFormatter SoapFormatter XmlSerializer命名空间
下一篇:Linq 多字段排序,二次排序
本文源自互联网,采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可,
版权归原作者,如有问题请联系service@tsingfun.com (编辑:admin)
版权归原作者,如有问题请联系service@tsingfun.com (编辑:admin)
相关热点
- 1js中int和string互换(js int转string,js string转int)
- 2虚拟机安装CentOS出错:EDD:Error 8000 r...
- 3路径 /storage/emulated/0/... 在哪儿?
- 4chown: invalid user: mysql:mysql
- 5[解决]Windows 成功诊断出虚拟内存不足的情况
- 6GIF截图工具, 三款免费好用的Gif截图工具推荐
- 7宽度默认980px?手机浏览器及pc浏览器width...
- 8Web API 最佳入门指南
- 9Mac OS 可视化ssh文件传输工具(替代scp命令行)
- 10【解决】VNC:No configured security ty...
本月排行
- 1Pulse Secure解决方案 35次浏览
- 2虚拟机安装CentOS出错:EDD:Err... 32次浏览
- 3解决:make[x]: *** 没有规则... 25次浏览
- 4无法解析的外部符号 _MiniDump... 24次浏览
- 5VBA 单元格日期与当前日期比较 21次浏览
- 6JS文字卷动效果的调用函数:sta... 17次浏览
- 7解决IIS发布时global_asax的dll... 16次浏览
- 8不同品牌的防火墙组成高可靠性集群 15次浏览
- 9NSIS做的安装程序,可接受命令... 15次浏览
- 10无法将类型“System.Collection... 14次浏览
评论排行
- 1C++ 读写xml方法整理(持续更新)3次评论
- 2Reference to ' ' is ambiguous:符号定义重复2次评论
- 3全民OS2次评论
- 4__attribute__2次评论
- 5海量数据相似度计算之simhash和海...2次评论
- 6C++使用OLE/COM高速读写EXCEL的源码2次评论
- 7AfxIsValidAddress 测试内存地址2次评论
- 8C++入门进阶最佳实战2次评论
- 9phpcms附件上传 Flash换成H52次评论
- 10解决xrdp登陆不上的问题:xrdp s...2次评论