(轉)xml節點和元素的關系 .


    XML節點是什么呢?當我們在處理XML文件的時候必須要明白XML節點的概念,那么從這里的講述,你將會了解XML節點對於XML文件的意義,希望對你有所幫助。

 

在我們學習LINQ刪除XML節點之前我們先來看看什么是XML節點,那么下面就向你詳細介紹下關於XML節點的學習體會。希望對你了解和學習XML節點有所幫助。

對於XML節點的認識:

就像一個樹狀的目錄。可以把第一行當作它扎根的“土地”。XML文件是由節點構成的。它的第一個節點為“根節點”。一個XML文件必須有且只能有一個根節點,其他節點都必須是它的子節點。我們在FLASH里使用XML對象解析XML的時候,this 代表整個XML文件,它的根節點就是 this.firstChild 。 this.firstChild.childNodes 則返回由根節點的所有子節點組成的節點數組。

XML文件是由節點構成 

每個子節點又可以有自己的子節點。節點編號由0開始,根節點的第一個子節點為 this.firstChild.childNodes[0],它的子節點數組就是this.firstChild.childNodes[0].childNodes 。

子XML節點的子節點 

對於XML節點的探究:

繼續深入到沒有子節點的單一節點,比如根節點第一個子節點的第二個子節點 this.firstChild.childNodes[0].childNodes[1],它返回的是一個XML對象(Object) 。這里需要特別注意,節點標簽之間的數據本身也視為一個節點 this.firstChild.childNodes[0].childNodes[1].firstChild ,而不是一個值。

XML節點標簽之間為一個節點 

我們解析XML的最終目的當然就是獲得數據的值:this.firstChild.childNodes[0].childNodes[1].firstChild.nodeValue 。注意!不是 this.firstChild.childNodes[0].childNodes[1].nodeValue !節點名稱有時也是我們需要的數據: this.firstChild.childNodes[0].childNodes[1].nodeName 。注意比較獲得節點名稱和節點值的不同。

XML節點名稱和節點值的不同 

除了作為子節點,數據還可以作為節點屬性。節點屬性寫在節點標簽內部:<節點 屬性1="屬性值" 屬性2="屬性值"...... >節點值 。如果數據全作為屬性而沒有節點值,則可以寫成 <節點 屬性="屬性值" /> 的形式,而不用寫成 <節點 屬性="屬性值"> 。 注意節點必須關閉,寫成 <節點 屬性="屬性值"> 就不對了。

節點的所有屬性返回一個通用對象(Object),比如根節點第六個子節點的第三個子節點的所有屬性為: this.firstChild.childNodes[5].childNodes[2].attributes 。 獲得其中的“地址”屬性: this.firstChild.childNodes[5].childNodes[2].attributes.地址 。

XML節點的所有屬性返回一個通用對象 

比較而言,數據作為屬性的方式更好。因為文件相對比較小,而且避免深入更多層子節點,解析速度更快。

下面以簡歷的 JobXMLModel類 (模型)看看在flash里具體的解析。 JobXMLModel類 繼承XML類,首先在構造函數里設置 ignoreWhite 屬性為true忽略XML文件中多余的空格。

對於XML節點的學習體會就和你分享到這里,那么希望以上的講解對你了解和掌握XML節點有所幫助。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM