熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

.NET中書寫的一種簡單方法

2022-06-13   來源: .NET編程 

  XML是一項熱門的技術它之所以能夠引起人們的興趣一個主要的原因在於它十分的簡單人們可以很容易地理解和使用它每一個程序員都能輕易地看懂一個XML文件理解它包含的內容

  NET中包含了很多支持XML的類這些類使得程序員使用XML編程就如同理解XML文件一樣簡單在這篇文章中我將給出這樣的一個類的使用示例這個類就是XmlTextWriter類

  XmlTextWriter類允許你將XML寫到一個文件中去這個類包含了很多方法和屬性使用這些屬性和方法可以使你更容易地處理XML為了使用這個類你必須首先創建一個新的XmlTextWriter對象然後你可以將XML片斷加入到這個對象中這個類中包含了不少的方法用於將各種類型的XML元素添加到XML文件中下表給出了這些方法的名字和描述情況

  

  方法

  描述

  WriteStartDocument

  書寫版本為的 XML 聲明

  WriteEndDocument

  關閉任何打開的元素或屬性

  Close

  關閉流

  WriteDocType

  寫出具有指定名稱和可選屬性的 DOCTYPE 聲明

  WriteStartElement

  寫出指定的開始標記

  WriteEndElement

  關閉一個元素

  WriteFullEndElement

  關閉一個元素並且總是寫入完整的結束標記

  WriteElementString

  寫出包含字符串值的元素

  WriteStartAttribute

  書寫屬性的起始內容

  WriteEndAttribute

  關閉上一個 WriteStartAttribute 調用

  WriteRaw

  手動書寫原始標記

  WriteString

  書寫一個字符串

  WriteAttributeString

  出具有指定值的屬性

  WriteCData

  寫出包含指定文本的 <![CDATA[]]> 塊

  WriteComment

  寫出包含指定文本的注釋 <!>

  WriteWhiteSpace

  寫出給定的空白

  WriteProcessingInstruction

  寫出在名稱和文本之間帶有空格的處理指令如下所示<?name text?>


    如果你對於XML十分熟悉那麼你一定能很好的理解上面的這些方法下面我們將給出一個例子在這個例子中我們將先創建一個文檔添加一些元素然後關閉這個文檔添加了元素後你還可以添加子元素屬性和其他內容下面的代碼就是這樣的一個例子它創建了一個文件名為title的XML文件

  using System;

  using SystemIO;

  using SystemXml;

  public class Sample

  {

  public static void Main()

  {

  XmlTextWriter writer = new XmlTextWriter(titlesxml null);

  //寫入根元素

  writerWriteStartElement(items);

  //加入子元素

  writerWriteElementString(title Unreal Tournament );

  writerWriteElementString(title C&C: Renegade);

  writerWriteElementString(title Dr Seusss ABC);

  //關閉根元素並書寫結束標簽

  writerWriteEndElement();

  //將XML寫入文件並且關閉XmlTextWriter

  writerClose();

  }

  }

  如果你編譯並且執行上面的代碼你將創建這個XML文件文件中包含如下內容

  <items><title>Unreal Tournament </title><title>

  C&amp;C: Renegade</title><title>Dr Seusss ABC

  </title></items>

  上面的代碼創建了一個名為writer的XmlTextWriter對象當這個對象被創建時它被關聯到一個名為titlesxml的文件接著程序創建了一個叫做items的根屬性WriteStartElement方法創建了這個屬性的開始標簽接下來程序調用了WriteElementString方法創建了三個子元素從上面的代碼你還可以看到這個方法使用第一個參數(在上面的程序中是title)作為元素的標簽使用第二個參數作為元素的值當你添加了所有的元素後你需要關閉根元素這時你可以調用WriteEndElement方法關閉那個最近被打開的元素在本例中這個最近被打開的元素就是根元素當所有的數據都已經寫好根元素也已經關閉時你可以將信息傳送給你的XmlTextWriter這意味著這時候你可以調用Close方法關閉它了

  上面的代碼相對十分的簡單下面我們看一個使用了XmlTextWriter類中更多方法功能更加完善的例子

  using System;

  using SystemIO;

  using SystemXml;

  public class Sample

  {

  public static void Main()

  {

  XmlTextWriter writer = new XmlTextWriter(myMediaxml null);

  //使用自動縮進便於閱讀

  writerFormatting = FormattingIndented;

  //書寫根元素

  writerWriteStartElement(items);

  //開始一個元素

  writerWriteStartElement(item);

  //向先前創建的元素中添加一個屬性

  writerWriteAttributeString(rating R);

  //添加子元素

  writerWriteElementString(title The Matrix);

  writerWriteElementString(format DVD);

  //關閉item元素

  writerWriteEndElement();  // 關閉元素

  //在節點間添加一些空格

  writerWriteWhitespace(\n);

  //使用原始字符串書寫第二個元素

  writerWriteRaw(<item> +

  <title>BloodWake</title> +

  <format>XBox</format> +

  </item>);

  //使用格式化的字符串書寫第三個元素

  writerWriteRaw(\n  <item>\n +

      <title>Unreal Tournament </title>\n +

      <format>CD</format>\n +

    </item>\n);

  // 關閉根元素

  writerWriteFullEndElement();

  //將XML寫入文件並關閉writer

  writerClose();

  }

  }

  上面代碼編譯運行後將得到myMediaxml文件文件的內容為

  <items>

  <item rating=R>

  <title>The Matrix</title>

  <format>DVD</format>

  </item>

  <item><title>BloodWake</title><format>XBox</format></item>

  <item>

  <title>Unreal Tournament </title>

  <format>CD</format>

  </item>

  </items>

  上面代碼中的注釋說明了這個程序的功能是如何實現的需要記住的一件事是當調用方法開始一個操作時你需要在程序的合適的地方調用方法結束這個操作例如你調用了StartElement你就必須調用EndElement關閉元素當然在這兩個調用之間你也可以加入一個子元素無論你何時調用EndElement方法它總是關閉最近使用StartElement方法打開的那個元素(這和棧的工作方式很相似)

  使用XmlTextWriter十分的容易不過我還是建議你自己動手試試這些代碼和方法你試過以後會發現這些代碼能夠很容易地集成到你的程序中你還應該記住XmlTextWriter僅僅是NET提供的眾多XML類中的一個和XmlTextWriter一樣其他的XML類也十分的容易使用


From:http://tw.wingwit.com/Article/program/net/201311/12837.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.