天天看點

xml散碎知識點(一)dom中的命名空間(持續更新)

DOM 中的命名空間支援

Visual Studio 2005 其他版本

XML 文檔對象模型 (DOM) 完全識别命名空間。隻支援識别命名空間的 XML 文檔。網際網路聯合會 (W3C) 指定實作級别 1 的 DOM 應用程式可以不識别命名空間,而 DOM 級别 2 功能識别命名空間。然而,XML DOM 中的所有功能都識别命名空間,不論該方法來自級别 1 還是級别 2 DOM 建議。

例如,在不識别命名空間的設定中,調用 DOM 級别 1 建議中指定的 setAttribute("A:b", "123") 不會生成字首為 A、本地名稱為 b 的屬性。将産生值為 A:b 的屬性。

在識别命名空間的環境中,調用 DOM 級别 2 setAttribute("A:b", "123") 将生成字首為 A、本地名稱為 b 的屬性。這就是 Microsoft .NET Framework DOM 的工作機制。

是以,對于所有接受名稱參數的方法,這些方法也接受用于限定名稱的字首。名稱參數(如 setAttribute DOM 級别 1 方法中的 A:b)按如下分析:

如果沒有冒号 (:) 字元,則本地名稱設定為 name 參數,而字首和 NamespaceURI 為空字元串。

如果找到冒号,則根據第一個冒号字元的位置将該名稱分為兩個部分。将字首設定為該冒号前面的字元串,将本地名稱設定為該冒号後面的字元串。對于不接受 NamespaceURI 值的方法,不解析 NamespaceURI 并保持設定為空字元串。否則,将 NamespaceURI 設定為傳遞給該方法的字元串。如果未定義字首,則 Save 方法以及 InnerXml 和 OuterXml 屬性将失敗。

xml