首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

应用 XmlTextWriter 建立 XML 檔

2012-12-18 
使用 XmlTextWriter 建立 XML 檔常見的建立 XML 檔案的方式是使用XmlTextWriter類別。XmlTextWriter 繼承自

使用 XmlTextWriter 建立 XML 檔

常見的建立 XML 檔案的方式是使用XmlTextWriter類別。
XmlTextWriter 繼承自 XmlWriter,而 XmlWriter 是抽象類別。

XmlTextWriter常用方法說明如下:
1. WriteStartDocument()
用於寫Xml頭聲明,即

<?xml version="1.0" encoding="utf-8">

,如果使用該函數的重載函數WriteStartDocument(bool standalone),就可以設置聲明的standalone屬性,該屬性表示該xml文檔是否與其他檔獨立,即是否需要單獨聲明節點。

2. WriteEndDocument()
該函數儘管不會向xml檔寫任何文本,但必須在編寫結束時調用,以結束寫過程,它會清空XmlTextWriter中維護的所有堆疊和臨時資訊,類似於Dispose()函數。

3. WriteStartElement()
創建當前節點的一個子節點,通常使用WriteStartElement(string LocalName,string Value),其中LocalName表示節點名稱,value表示節點的InnerText
如:

WriteStartElement("address","Tian Jing Road");

生成的xml:

<address>Tian Jing Road</address>

4. WriteEndElement()
一旦使用過一句WriteStartElement()就必須有對應的WriteEndElement(),當WriteEndElement被執行後,當前指向的節點就會轉為父節點,如:

<shop> ????<address>Tian Jing Road</address> </shop>

在執行WriteStartElement(“address”,”Tian Jing Road”)後,當前指向<address>節點,在WriteEndElement被執行後,當前節點指向<shop>節點

5.WriteStartAttribute()與WriteEndAttribute()
與節點創建函數用法相同

6. WriteAttributeString(string LocalName,string value)
該函數用於創建屬性,與WriteStartAttribute()不同的是它不需要EndAttribute(),直接使用就可以了。
但要注意它與WriteStartAttribute生成的xml的不同之處,看下面的例子:

WriteStartElement("address");? WriteStartAttribute("state","California"); WriteEndAttribute(); WriteEndElement();

以上程式碼生成的xml:

<address d1p1:state="" xmlns:d1p1="California" />WriteStartElement("address");? WriteAttributeString("state","California"); WriteEndElement();

以上程式碼生成的xml:

<address state="California" />

也就是說WriteAttributeString生成的是未處理的原始語句,而WriteStartAttribute()生成的是Xml Schema語句

7. WriteElementString(string LocalName, string Value)
與WriteAttributeString的用法相同,其中LocalName為節點名稱,Value為節點的InnerText。

8. WriteString()與WriteRaw()的區別
WriteString(“More >”)生成的Xml是More &gt
WriteRaw(“More >”)生成的xml是More >
也就是說WriteString會把敏感字元轉換為轉義字元,而WriteRaw()則是直接寫入,不做任何處理

9. WriteCData()
該函數是用來寫用CData包裹的字串,在字串中有敏感字元時很有用
WriteCData(“More >”)生成的Xml是

<![CDATA [More >]] >

10. WriteFullEndElement()
該函數用來寫完整的結束標誌,如

<address></address>writer.WriteStartElement("address", null);writer.WriteFullEndElement();

XmlTextWriter 常用屬性說明如下:
1.Formatting 屬性的預設值為 Formatting.None
2.XmlTextWriter.Indentation屬性,表示縮近字元的字元數,當Formatting屬性為Formatting.Indented時,才會生效
3.XmlTextWriter.IndentChar才會生效,IndentChar是縮近字元,一般使用’\t’,當Formatting屬性為Formatting.Indented時,才會生效
4.QuoteChar屬性表示封閉字元,默認為雙引號

Reference:
http://tung.tsu.edu.tw/lecture/vc_net/chp18_xml_2005.doc

?

热点排行