首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

DOM 標準與 Java 實作完整技術參考(核心接口、節點類型、命名空間)

     編輯:Java 程式設計入門

DOM 核心定義

  • 文件物件模型:將 HTML/XML 文件物件化的標準介面
  • 跨語言、跨平台、廠商中立
  • 定義文件邏輯結構,提供動態建立、遍歷、修改、刪除、改變顯示方式的方法

三大模組組成

  • Core(核心):結構化文件底層物件集合
  • HTML:操作 HTML 文件的高階介面
  • XML:操作 XML 文件的高階介面

版本演進

  • DOM Level 1:1998/08/18 通過
  • DOM Level 2:2000/03/07
  • DOM Level 3:持續發展中

XML 基本構成元素

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ORDERS SYSTEM "orders.dtd">
<orders>
  <order>
    <customerid limit="1000">12341</customerid>
  </order>
</orders>

元素、屬性、文本、CDATA、註解、處理指令、文件片段、實體、實體引用、記號、命名空間

Java API 核心套件:org.w3c.dom

1. Node 介面 - DOM 樹核心

所有節點類型父介面,關鍵常數與方法:

節點類型常數值
ELEMENT_NODE1
ATTRIBUTE_NODE2
TEXT_NODE3
CDATA_SECTION_NODE4
ENTITY_REFERENCE_NODE5
ENTITY_NODE6
PROCESSING_INSTRUCTION_NODE7
COMMENT_NODE8
DOCUMENT_NODE9
DOCUMENT_TYPE_NODE10
DOCUMENT_FRAGMENT_NODE11
NOTATION_NODE12

核心操作方法:appendChild()、cloneNode()、getAttributes()、getChildNodes()、getFirstChild()/getLastChild()、getParentNode()、getNextSibling()/getPreviousSibling()、insertBefore()、removeChild()、replaceChild()、normalize()、hasChildNodes()、getNodeName()/getNodeValue()、setNodeValue()、命名空間相關 getNamespaceURI()/getPrefix()/getLocalName()、isSupported()

2. NodeList 介面 - 有序節點集合

  • 動態即時反映文件變更
  • 索引從 0 開始,getLength()、item(index)

3. NamedNodeMap 介面 - 名稱索引節點映射

  • 節點無序,主要用於屬性集合
  • 同樣即時動態更新
  • 關鍵:getNamedItem()、setNamedItem()、removeNamedItem()、支援命名空間版本

重要高階介面

介面用途
Document整個 HTML/XML 文件根節點
Element元素節點,最常用,可構成子樹
Attr元素屬性,父節點為 Element
Text元素/屬性的文本內容
DocumentFragment輕量文件片段,批次插入高效
DocumentTypeDOCTYPE/Schema 資訊
DOMImplementation跨文件實例的工廠方法
CDATASection / Comment / ProcessingInstruction特殊內容節點
Entity / EntityReference / NotationDTD 相關實體
CharacterData字元資料操作基底

關鍵節點類型關係圖

  • Document:樹根,子節點含 DocumentElement (Element)、DocumentType、ProcessingInstruction、Comment
  • Element:XML 元素核心,子節點可含 Element、Attr、Text、CDATASection、ProcessingInstruction、Comment
  • Attr:屬性節點,父必為 Element,子節點為 Text、EntityReference
  • Text:純文本內容,無子節點

本文涵蓋 DOM Level 1/2 核心規範與 Java 映射,適合作為開發時的快速參考手冊。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved