DOM 將 XML 載入記憶體形成樹狀結構,**允許直接修改樹中節點** (新增/刪除/更新),無需重新序列化整份文件,操作效率遠高於串流模式。

所有節點類型 (XmlElement、XmlAttribute、XmlText、XmlComment 等) 均繼承自 XmlNode,掌握 XmlNode 即掌握 DOM 核心操作介面。
| 屬性 | 型別 | 說明 |
|---|---|---|
| HasChildNodes | bool | 是否擁有子節點 |
| ChildNodes | XmlNodeList | 所有子節點集合 |
| FirstChild | XmlNode | 第一個子節點 |
| LastChild | XmlNode | 最後一個子節點 |
| ParentNode | XmlNode | 父節點 |
| NextSibling | XmlNode | 下一個同層節點 |
| PreviousSibling | XmlNode | 上一個同層節點 |
| InnerText | string | 當前節點及所有後代的純文字串連 |
| InnerXml | string | 僅子節點的 XML 標記內容 |
| OuterXml | string | 包含自身標記的完整 XML 片段 |
| 方法 | 說明 |
|---|---|
| SelectNodes(xpath) | 依 XPath 選取節點清單 |
| SelectSingleNode(xpath) | 依 XPath 選取第一個匹配節點 |
| AppendChild(newChild) | 在子節點清單末尾新增 |
| PrependChild(newChild) | 在子節點清單開頭新增 |
| RemoveChild(oldChild) | 移除指定子節點 |
| ReplaceChild(newChild, oldChild) | 替換子節點 |
繼承 XmlNode,代表整份 XML 文件,提供 Load(stream)、LoadXml(string)、CreateElement(name)、CreateAttribute(name) 等文件層級操作。