在我們學習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節點有所幫助。
xml中的元素,節點
對於xslt 處理器來看,樹 就是要使用xslt轉換的xml原文件 中的元素,屬性,名字空間 注釋,文字內容,處理指令,還有整個文件 即看成 根節點 這7種都是節點。那麼元素節點僅僅是其中的一種。簡單的說元素節點就是使用用左右尖括號 如 的那個元素的節點。比如下面的xml文件 xml 對於xslt處...
獲取元素 節點關係
1 點我2 1 獲取父節點 2 window.onload function ev 1 獲取兄弟節點 2var span document.getelementbyid span 3 下乙個4 var nextele span.nextelementsibling span.nextsibling ...
節點和元素
節點和元素,上 ul id ok li item1 li li item2 li li item3 li li item4 li li item5 li ul script vara document.getelementbyid ok console.log a.childnodes 返回的是所有...