解析XML文档时Node和Element的区别

文档对象模型DOM(Document Object Module)定义了用户操作文档对象的接口,它使得用户对HTML有了空前的访问能力,并使开发者能将HTML作为XML文档来处理。

使用C++的TinyXML解析XML文档时,会有两套方法,一套操作Node,一套操作Element。

Node(节点)是DOM层次结构中的任何类型的对象的通用名称,Node有很多类型,如元素节点,属性节点,文本节点,注释节点等,通过NodeType区分,常见的有:

节点类型 NodeType
元素Element 1
属性Attr 2
文本Text 3
注释Comments 8
文档Document 9

Element继承了Node类,也就是说Element是Node多种类型中的一种,即当NodeType为1时Node即为ElementNode,另外Element扩展了Node,Element拥有id、class、children等属性。

1 <Alarm lock="true">             //node  
2       <Time>                       //node  
3           StringValue              //node  
4       </Time>                      //node  
5 </Alarm>                           //node

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

Element继承于node,除了Element之外,还有Attribute、Text、Comments、Document等。

通过某方法可以得到某个Node的值,它可能是Element、Attribute、Text等,如果你不确定,则可以使用Node来做返回值的类型。

Node只是具有了一些通用的方法,而Element则具有更具体的功能。
原文链接: https://www.cnblogs.com/SneakyCrab/p/5604837.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/235613

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午4:41
下一篇 2023年2月13日 下午4:42

相关推荐