在.NET Framework中輕鬆處理XML資料(4-2)

黄舟
發布: 2016-12-20 14:13:44
原創
1530 人瀏覽過

Figure 7 States for XML Writer 

State 
Description 

Attribute 
The writer enters this state when an attribute is being wgritThe writer enters this state when an attribute is being wgritThe writer oroo longer available for writing operations 

Content
The writer enters this state when the content of a node is being writer enters this state when the content of a node is being written 

Element 
The writer enters this state when an element start tag is being written at document

Start 
The writer is in an initial state, awaiting for a write call to be issued 


??Writer 把輸出文字存在內部的一個緩衝區內。一般情況下,緩衝區會被刷新或被清除,當Writer被封閉前XML文字應當要寫出。在任何時你都可以透過呼叫Flush方法清空緩衝區,把目前的內容寫到流中(透過BaseStream屬性***露流),然後開釋部分佔用的內存,Writer仍保持為開啟狀態(open state) ,可以持續把持。留心,固然寫了部分的文檔內容,但是在Writer沒有封閉前其它的程序是不能處理該文檔的。 

??可以用兩種方法來寫屬性節點。第一種方法是用WriteStartAtribute方法往創立一個新的屬性節點,更新Writer的狀態。接著用WriteString方法設定屬性值。寫完後,用WriteEndElement方法結束該節點。另外,你也可以用WriteAttributeString方法往創立新的屬性節點,當writerr的狀態為Element時,WriterAttributeString開端工作,它單獨創立一個屬性。同樣的,WriteStartElement方法寫節點的開端標籤(”。假如想寫閉標籤可以用WriteFullEndElement方法來寫。 

??應避免傳送給寫入方法的文字中包含敏感的標記字符,例如小於號(
writer.WriteString('
writer.WriteRaw('


















🎜🎜🎜 🎜🎜🎜??讀寫流 🎜🎜??有趣的是,reader(瀏覽器)和writer類別供給了基於Base64 和BinHex編碼的讀寫資料流的方法。 WriteBase64 和 WriteBinHex方法的功效與其它的寫法的功效存在著細微的差別。它們都是基於流的,這兩個方法的功效像是一個byte數組而不是一個string。下面的程式碼先把一個string轉換成一個byte數組,然後把它們寫成一個Base64 編碼流。 Encoding類別的GetBytes靜態方法完成轉換的任務: 🎜🎜writer.WriteBase64( 🎜🎜Encoding.Uni.GetBytes(buf), 🎜🎜0, b.Length*2);輕鬆處理XML資料(4-2) 的內容,更多相關內容請關注PHP中文網(www.php.cn)! 🎜🎜🎜🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!