XmlNode和XmlElement的区别

XmlElement is a subclass of XmlNode (and so is XmlAttribute, XmlText, XmlDocument, etc.). There is no performance implication of using one over the other at all, since XmlNode is simply the base class for all types of nodes in a DOM Xml document instance.

It just so happens, that many of the APIs in the DOM return an XmlNode reference because they could return several kinds of nodes. For example, with SelectSingleNode(), your XPath expression could return an element, an attribute, an XmlText and what not; whether you handle it as an XmlNode or cast it to the right type is just a matter of how you write your code but won't affect performance at all.

XmlElements are a type of node. In fact, if you look at the members of XmlNode and XmlElement in the .NET Framework, you will see that  they are   very much alike, but XmlElement has more going on. It inherits XmlNode and then is further customized. This is because an element is more   specialized. A node is more general in scope. The document is a node, a processing instruction is a node, and so forth. Elements are   different. If you look at the XmlNodeType property of an element, you will see that it is Element, one of the many types of nodes you find. 

Element是Node的子集,XmlNode表示一个节点,包括XmlElement(元素)和XmlAttribute(属性)等。 如:

<Alarm lock="true">             //node   
      <Time>                       //node   
          StringValue              //node   
      </Time>                      //node   
</Alarm>                           //node  


  以上Alarm(元素节点),lock(属性节点),Time(元素节点),StringValue(文本节点)都是Node,但是只有 <Alarm>......</Alarm>和<Time>StringValue</Time>是Element  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值