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

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

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

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

节点类型NodeType
元素Element1
属性Attr2
文本Text3
注释Comments8
文档Document9

 

 

 

 

 

 

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,但是只有 <Alarm>......</Alarm>和<Time>StringValue</Time>是Element。

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

通过某方法可以得到某个Node的值,它可能是Element、Attribute、Text等,如果你不确定,则可以使用Node来做返回值的类型。
Node只是具有了一些通用的方法,而Element则具有更具体的功能。

转载于:https://www.cnblogs.com/SneakyCrab/p/5604837.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值