Keep on going, never give up.

DOM节点类型(NodeType)

在XML解析时,总会涉及到节点读取和解析,之前的文章《常见C/C++ XML解析器比较》介绍过解析器,本文整理XML DOM容器节点概念,实际上,如果只是自己使用,解析源也是自己构造的话,里面有些节点根本用不上,因为XML解析器本身就搞的太复杂啦,导致解析效率太低。如果是私有通道,又想高效传输数据,还不如自己去创建管道,自己约定协议来的快。

个人而言,尽管常用到XML,但一直对XML效率问题持否定态度,但似乎又很难找到更合适的简单高效办法,尤其在跟第三方通信时,当然能用JSON或自定义结构那是最好,速度也较快,但同样会面临着兼容问题和扩展问题。

节点类型 节点值 节点常量 释义
 Element 1 ELEMENT_NODE  元素节点
 Attr 2 ATTRIBUTE_NODE  属性节点
 Text 3 TEXT_NODE  文本节点
 CDATASection 4 CDATA_SECTION_NODE  CDATA区段,解析器不解析
 EntityReference 5 ENTITY_REFERENCE_NODE  实体引用节点
 Entity 6 ENTITY_NODE  实体节点
 ProcessingInstruction 7 PROCESSING_INSTRUCTION_NODE  处理指令
 Comment 8 COMMENT_NODE  注释节点
 Document 9 DOCUMENT_NODE  DOM 树根节点
 DocumentType 10 DOCUMENT_TYPE_NODE  文档类型节点
 DocumentFragment 11 DOCUMENT_FRAGMENT_NODE  文档片段
 Notation 12 NOTATION_NODE  DTD中定义的符号

上述节点,值定义在常见的XML解析器中都有枚举定义,直接调用即可。另外,涉及到节点,一般均有节点名和节点值两个属性,也就是nodeName 和 nodeValue,但是除了Att、 ProcessingInstruction、Comment、Text、CDATASection有nodeValue之外,其它节点均返回NULL值,但是nodeName值所有节点均有。

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.