C#篇之XmlNode与XmlElement小结

转载自http://www.cnblogs.com/oilsun/archive/2012/07/07/2580427.html
自己在写程序读写Xml文件时遇到了一个问题,就是设置属性时,XmlNode
设置和读取不了,而XmlElement却可以,然后看了很多博客,才找到上面那
篇,觉得不错就转载过来了。以供大家分享。

  1. 通过查看这两个类的定义可以发现,XmlNode是abstract类,不能直接实例化,XmlElement这个类的构造函数是protected的,所以也不能直接实例化,都是通过XmlDocument这个类来create一个实例,XmlNode这个类是XmlElement和XmlAttribute的父类或者是父类的父类。也就是说XmlNode是这多种节点的统称。

  2. 节点分为元素节点、属性节点,文本节点,和注释节点,属性节点就是属性,文本节点就是文本(dom4中属性不再是节点),而元素节点可以包含属性和文本,所以说XmlNode这个类里面没有设置属性的方法(因为这个节点可能就是文本节点,所以这时就没有属性了)。

  3. DOM是这样规定的:

    整个文档是一个文档节点

    每个HTML标签是一个元素节点

    包含在HTML元素中的文本是文本节点

    每一个HTML属性是一个属性节点(属性节点是另一个层面的理解,在浏 览器后台打印的时候,不存在属性节点)

    注释属于注释节点

C#篇之XmlNode与XmlElement小结_第1张图片
元素节点可以包含属性、注释、文本。

你可能感兴趣的:(C#,XmlNode,XmlElement)