<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      在.NET Framework中簡單處理XML數據(1-3)

      [摘要]每個節點的類型是XmlNodeType枚舉中的一種,在如圖三所示的代碼中,我們只用了其中的兩種類型:Element 和 EndElement。輸出源碼重新定制了原始的文檔結構,它丟棄或者說是忽略了XML元素的屬性和節點內容,只輸出了元素節點名。假設我們運用了下面的XML片斷: <mags>...
      每個節點的類型是XmlNodeType枚舉中的一種,在如圖三所示的代碼中,我們只用了其中的兩種類型:Element 和 EndElement。輸出源碼重新定制了原始的文檔結構,它丟棄或者說是忽略了XML元素的屬性和節點內容,只輸出了元素節點名。假設我們運用了下面的XML片斷:

      <mags>
      <mag name="MSDN Magazine">
      MSDN Magazine
      </mag>
      <mag name="MSDN Voices">
      MSDN Voices
      </mag>
      </mags>
      用上面的程序輸出的結果如下:

      <mags>
      <mag>
      </mag>
      <mag>
      </mag>
      </mags>

      子節點的縮進量是根據閱讀器的深度屬性(Depth屬性)設置的,Depth屬性返回一個整形的數據,它表示當前節點的嵌套層次。所有文本都放在StringWriter對象中(一個非常方便的基于流的封裝了StrigBuilder類的類)。

      如前所述,閱讀器不會自動通過Read方法訪問屬性節點。要訪問當前元素的屬性節點集合,必須用一個簡單的用MoveToNextAttribute方法的返回值控制的循環去遍歷該集合。下面的代碼用于訪問當前節點的所有屬性,并把屬性的名稱和它的值用逗號分開組合成一個字符串:
      if (reader.HasAttributes)
      while(reader.MoveToNextAttribute())
      buf += reader.Name + "=\"" + reader.Value + "\",";
      reader.MoveToElement();

      當你完成對屬性集的處理時,調用MoveToElement方法使指針返回到屬性所屬的元素節點。準確的說,MoveToElement方法并不是真正的移動指針,因為在處理屬性集時指針從來就沒有從元素節點中移開。MoveToElement方法只不過指向某個內部成員,并依次取得成員的值。例如,用Name屬性獲得某個屬性的屬性名,然后調用MoveToElement方法把指針移到其所屬的元素節點處。但是當你不需要繼續處理別的節點時,就不必再調用MoveToElement方法了。




      日韩精品一区二区三区高清