XML對象模型是一個對象集,可以使用這個對象集來訪問或處理存儲在XML文檔中的數據 。XML文檔構成一顆樹,樹上的每一個元素可以看作是一個節點,具有不同屬性和方法的 對象代表了樹和它的節點,每個節點包含文檔中的實際數據。
如何訪問樹中的節點?
可以通過象腳本來訪問樹中的節點。這些對象是在解析器裝載並解析XML文檔時由XML解 析器創建的。通過ID值可以引用樹,或文檔對象。在下面的例子中,MyXMLDocument是文 檔的對象的ID值,使用文檔對象的屬性和方法可以訪問樹的根和子節點對象。根,或文 檔元素,是最頂層的節點,子節點從根上擴展開形成XML樹。根節點只可以在文檔中出現 一次。
點擊下面的數據島可以展示用來訪問每個節點的代碼。根節點是<class>,它的子節點是<student>,這個子節點還有兩個子節點<name>和<GPA>。<XML ID="MyXMLDocument">
<class>
<student studentID="13429">
<name>Jane Smith</name>
<GPA>3.8</GPA>
</student>
</class>
</XML>
下面列出了一些簡單的屬性和方法,可用來訪問XML文檔的節點。
XMLDocument:返回對XML文檔對象模式的引用。
documentElement:返回XML文檔的根節點。
childNodes:返回節點的孩子節點目錄。
item:通過索引訪問目錄中的個別節點。索引值是從0開始的,所以item(0)返回第一個 節點。
text:返回節點的內容。
下面是一個帶有數據島的Html頁面。數據島被包含在<XML>元素中。
<Html>
<HEAD>
<TITLE>Html with XML Data Island</TITLE>
</HEAD>
<BODY>
<P>Within this document is an XML data island.</P>
<XML ID="resortXML">
<resorts>
<resort>Calinda Cabo Baja</resort>
<resort>Na Balam Resort</resort>
</resorts>
</XML>
</BODY>
</Html>
你能通過ID屬性訪問數據島,“resortXML”成為文檔對象的名稱。你能利用這個對象的 方法和屬性訪問它的根節點和孩子節點。在上面的例子中,根節點是<resorts>,孩子節 點是<resort>。
下面的代碼訪問第二個孩子節點<resort>並返回它的內容“Na Balam Resort”。
resortXML.XMLDocument.documentElement.childNodes.item(1).text
如何獲得XML DOM樹的信息?
有以下幾種方法和接口來獲得DOM的信息。
如果使用腳本語言,DOMDocument對象提供load、loadXML、save方法和XML屬性。
對Visual Basic 和 C 或 C++ 編程者來說,IXMLDOMDocument接口提供和DOMDocument對 象同樣的成員。
IXMLDOMDocument也可以實現標准的COM接口,如IPersistStreamInit、IPersistMonike r和IStream。