XML節點學習總結
在我們學習LINQ刪除XML節點之前我們先來看看什么是XML節點,那么下面就向你詳細介紹下關于XML節點的學習體會。希望對你了解和學習XML節點有所幫助。
對于XML節點的認識:
就像一個樹狀的目錄。可以把***行當作它扎根的“土地”。XML文件是由節點構成的。它的***個節點為“根節點”。一個XML文件必須有且只能有一個根節點,其他節點都必須是它的子節點。我們在FLASH里使用XML對象解析XML的時候,this 代表整個XML文件,它的根節點就是 this.firstChild 。 this.firstChild.childNodes 則返回由根節點的所有子節點組成的節點數組。
每個子節點又可以有自己的子節點。節點編號由0開始,根節點的***個子節點為 this.firstChild.childNodes[0],它的子節點數組就是this.firstChild.childNodes[0].childNodes 。
對于XML節點的探究:
繼續深入到沒有子節點的單一節點,比如根節點***個子節點的第二個子節點 this.firstChild.childNodes[0].childNodes[1],它返回的是一個XML對象(Object) 。這里需要特別注意,節點標簽之間的數據本身也視為一個節點 this.firstChild.childNodes[0].childNodes[1].firstChild ,而不是一個值。
我們解析XML的最終目的當然就是獲得數據的值:this.firstChild.childNodes[0].childNodes[1].firstChild.nodeValue 。注意!不是 this.firstChild.childNodes[0].childNodes[1].nodeValue !節點名稱有時也是我們需要的數據: this.firstChild.childNodes[0].childNodes[1].nodeName 。注意比較獲得節點名稱和節點值的不同。
除了作為子節點,數據還可以作為節點屬性。節點屬性寫在節點標簽內部:<節點 屬性1="屬性值" 屬性2="屬性值"...... >節點值 。如果數據全作為屬性而沒有節點值,則可以寫成 <節點 屬性="屬性值" /> 的形式,而不用寫成 <節點 屬性="屬性值"> 。 注意節點必須關閉,寫成 <節點 屬性="屬性值"> 就不對了。
節點的所有屬性返回一個通用對象(Object),比如根節點第六個子節點的第三個子節點的所有屬性為: this.firstChild.childNodes[5].childNodes[2].attributes 。 獲得其中的“地址”屬性: this.firstChild.childNodes[5].childNodes[2].attributes.地址 。
比較而言,數據作為屬性的方式更好。因為文件相對比較小,而且避免深入更多層子節點,解析速度更快。
下面以簡歷的 JobXMLModel類 (模型)看看在flash里具體的解析。 JobXMLModel類 繼承XML類,首先在構造函數里設置 ignoreWhite 屬性為true忽略XML文件中多余的空格。
對于XML節點的學習體會就和你分享到這里,那么希望以上的講解對你了解和掌握XML節點有所幫助。
【編輯推薦】