DOM 与 DOM 解析详解(一)基础

来源:互联网 发布:c语言 夏老师 编辑:程序博客网 时间:2024/06/11 11:48

首先有必要了解一下什么是 DOM ?下面是DOM的官方定义

    文档对象模型(DOM是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的

平台和语言中立的接口。

    W3C DOM 被分为 3 个不同的部分/级别:
    (1) 核心 DOM : 用于任何结构化文档的标准模型
    (2) XML DOM : 用于 XML 文档的标准模型, 定义了所有 XML 元素的对象和属性,以及访问它

的方法(接口),换句话说,XML DOM 是用于获取、更改、添加或删除 XML 元素的标准。

    (3) HTML DOM : 用于 HTML 文档的标准模型,定义了所有 HTML 元素的对象和属性,以及访问

它们的方法(接口)。
    DOM 定义了所有文档元素的对象和属性,以及访问它们的方法(接口)。

 

    下面主要介绍XML DOM的相关内容 及其 解析方法(JAVA实现)。

    XML文档中每个成分都是一个节点(Node)。包括文本节点(Text),属性节点(Attr),注释节

点(Comment),元素节点(Element),CDATASection节点,文档节点(Document),文档片段节

点(DocumentFragment),文档类型节点(DocumentType),实体节点(EntityType),实体引用节

点(EntityReference),Notation节点,处理指令节点(ProcessingInstruction)。

    JAVADOM节点的类层次示意图如下。   

 

  org.w3c.dom.Node

  • org.w3c.dom.Attr
  • org.w3c.dom.CharacterData
    • org.w3c.dom.Comment
    • org.w3c.dom.Text
      • org.w3c.dom.CDATASection
  • org.w3c.dom.Document
  • org.w3c.dom.DocumentFragment
  • org.w3c.dom.DocumentType
  • org.w3c.dom.Element
  • org.w3c.dom.Entity
  • org.w3c.dom.EntityReference
  • org.w3c.dom.Notation
  • org.w3c.dom.ProcessingInstruction

    每个节点都有三个属性nodeNamenodeValue attributes。各种节点的相应属性值如下所示。

 

Interface nodeName nodeValue attributes AttrAttr.name 相同与 Attr.value 相同nullCDATASection "#cdata-section"CharacterData.data 相同,CDATA 节的内容nullComment "#comment"CharacterData.data 相同,该注释的内容nullDocument "#document"nullnull DocumentFragment"#document-fragment" nullnullDocumentTypeDocumentType.name 相同nullnull ElementElement.tagName 相同null NamedNodeMapEntityentity namenull nullEntityReference引用的实体名称 nullnullNotationnotation name nullnullProcessingInstructionProcessingInstruction.target 相同与 ProcessingInstruction.data 相同nullText "#text"CharacterData.data 相同,该文本节点的内容null

 

 

原创粉丝点击