首頁 後端開發 XML/RSS教程 .NET中書寫XML的簡單方法

.NET中書寫XML的簡單方法

Mar 01, 2017 pm 04:59 PM
.net xml

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

.NET包含了許多支援XML的類,這些類別使得程式設計師使用XML程式設計就如同理解XML檔案一樣簡單。在這篇文章中,我將給出這樣的一個類別的使用範例,這個類別就是XmlTextWriter類別。

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

方法
 描述
 
WriteStartDocument
 書寫版本為「1.0」的XML 宣告
 
WriteEndDocument
 關閉任何開啟的元素或屬性
 
Close
 關閉串流
 
WriteDocType
 寫出具有指定名稱和可選屬性的DOCTYPE 聲明
 
WriteStartElement
 寫出指定的開始標記
 
WriteEndElement
 關閉一個元素

WriteFullEndElement
 關閉一個元素,並且總是寫入完整的結束標記
 
WriteElementString
 寫出包含字串值的元素
 
#WriteStartAttribute
 書寫屬性的起始內容
 
WriteEndAttribute
 關閉上一個WriteStartAttribute 呼叫
 
WriteRaw
 手動書寫原始標記
 
WriteString
 書寫一個字串

WriteAttributeString
 出具有指定值的屬性
 
WriteCData
 寫出包含指定文字的 區塊
 
WriteComment
 寫出包含指定文字的註解
 
WriteWhiteSpace
 寫出給定的空白
 
WritePRocessingInstruction
 寫出在名稱和文字之間帶有空格的處理指令,如下所示:

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

using System;
using System.IO;
using System.Xml;
public class Sample
{
  public static void Main()
  {
     XmlTextWriter writer = new XmlTextWriter("titles.xml", null);
     //写入根元素
     writer.WriteStartElement("items");
     //加入子元素
     writer.WriteElementString("title", "Unreal Tournament 2003");
     writer.WriteElementString("title", "C&C: Renegade");
     writer.WriteElementString("title", "Dr. Seuss's ABC");
     //关闭根元素,并书写结束标签
     writer.WriteEndElement();
     //将XML写入文件并且关闭XmlTextWriter
     writer.Close();  
  }
}
登入後複製

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

<items>
    <title>Unreal Tournament 2003</title>
    <title>C&amp;C: Renegade</title>
    <title>Dr. Seuss&#39;s ABC</title>
</items>
登入後複製

上面的程式碼創建了一個名為writer的XmlTextWriter對象。當這個物件被建立時,它被關聯到一個名為titles.xml的檔案。接著,程式建立了一個叫做items的根屬性,WriteStartElement方法建立了這個屬性的開始標籤。接下來,程式呼叫了WriteElementString方法建立了三個子元素。從上面的程式碼你也可以看到,這個方法使用第一個參數(在上面的程式中是title)作為元素的標籤;使用第二個參數作為元素的值。當你加入了所有的元素後,你需要關閉根元素。這時你可以呼叫WriteEndElement方法來關閉那個最近被開啟的元素;在這個例子中,這個最近被開啟的元素就是根元素。當所有的資料都已經寫好,根元素也已經關閉時,你可以將訊息傳送給你的XmlTextWriter。這意味著這時候你可以呼叫Close方法關閉它了。

上面的程式碼相對十分的簡單,下面我們來看一個使用了XmlTextWriter類別中更多方法,功能更加完善的範例。

using System;
using System.IO;
using System.Xml;
public class Sample
{
  public static void Main()
  {
     XmlTextWriter writer = new XmlTextWriter("myMedia.xml", null);
     //使用自动缩进便于阅读
     writer.Formatting = Formatting.Indented;
     //书写根元素
     writer.WriteStartElement("items");
     //开始一个元素
     writer.WriteStartElement("item");
     //向先前创建的元素中添加一个属性
     writer.WriteAttributeString("rating", "R");
     //添加子元素
     writer.WriteElementString("title", "The Matrix");
     writer.WriteElementString("format", "DVD");
     //关闭item元素
     writer.WriteEndElement();  // 关闭元素
     //在节点间添加一些空格
     writer.WriteWhitespace("\n");
     //使用原始字符串书写第二个元素
     writer.WriteRaw("<item>" + 
                     "<title>BloodWake</title>" +
                     "<format>XBox</format>" + 
                     "</item>");
     //使用格式化的字符串书写第三个元素
     writer.WriteRaw("\n  <item>\n" +
                     "    <title>Unreal Tournament 2003</title>\n" +
                     "    <format>CD</format>\n" + 
                     "  </item>\n");
     // 关闭根元素
     writer.WriteFullEndElement();
     //将XML写入文件并关闭writer
     writer.Close();
  }
}
登入後複製

上面程式碼編譯執行後將會得到myMedia.xml文件,檔案的內容為:
 

<item rating="R">
    <title>The Matrix</title>
    <format>DVD</format>
  </item>
<item>
    <title>BloodWake</title>
    <format>XBox</format>
</item>
  <item>
    <title>Unreal Tournament 2003</title>
    <format>CD</format>
  </item>
</items>
登入後複製

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

使用XmlTextWriter十分的容易,不過我還是建議你自己動手試試這些程式碼和方法。你試過以後會發現這些程式碼能夠輕易地整合到你的程式中。你也應該記住,XmlTextWriter只是.NET提供的眾多XML類別中的一個。和XmlTextWriter一樣,其他的XML類別也十分的容易使用

 以上就是.NET中書寫XML的一種簡單方法的內容,更多相關內容請關注PHP中文網(www.php.cn)!


#
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1324
25
PHP教程
1272
29
C# 教程
1251
24
能否用PowerPoint開啟XML文件 能否用PowerPoint開啟XML文件 Feb 19, 2024 pm 09:06 PM

XML檔可以用PPT開啟嗎? XML,即可擴展標記語言(ExtensibleMarkupLanguage),是一種廣泛應用於資料交換和資料儲存的通用標記語言。與HTML相比,XML更加靈活,能夠定義自己的標籤和資料結構,使得資料的儲存和交換更加方便和統一。而PPT,即PowerPoint,是微軟公司開發的一種用於創建簡報的軟體。它提供了圖文並茂的方

Python中的XML資料轉換為CSV格式 Python中的XML資料轉換為CSV格式 Aug 11, 2023 pm 07:41 PM

Python中的XML資料轉換為CSV格式XML(ExtensibleMarkupLanguage)是一種可擴充標記語言,常用於資料的儲存與傳輸。而CSV(CommaSeparatedValues)則是一種以逗號分隔的文字檔案格式,常用於資料的匯入和匯出。在處理資料時,有時需要將XML資料轉換為CSV格式以便於分析和處理。 Python作為一種功能強大

C#開發中如何處理XML和JSON資料格式 C#開發中如何處理XML和JSON資料格式 Oct 09, 2023 pm 06:15 PM

C#開發中如何處理XML和JSON資料格式,需要具體程式碼範例在現代軟體開發中,XML和JSON是廣泛應用的兩種資料格式。 XML(可擴展標記語言)是一種用於儲存和傳輸資料的標記語言,而JSON(JavaScript物件表示)是一種輕量級的資料交換格式。在C#開發中,我們經常需要處理和操作XML和JSON數據,本文將重點放在如何使用C#處理這兩種數據格式,並附上

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

分享幾個.NET開源的AI和LLM相關專案框架 分享幾個.NET開源的AI和LLM相關專案框架 May 06, 2024 pm 04:43 PM

當今人工智慧(AI)技術的發展如火如荼,它們在各個領域都展現了巨大的潛力和影響力。今天大姚給大家分享4個.NET開源的AI模型LLM相關的專案框架,希望能為大家提供一些參考。 https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel是一種開源的軟體開發工具包(SDK),旨在將大型語言模型(LLM)如OpenAI、Azure

如何使用 PHP 函數處理 XML 資料? 如何使用 PHP 函數處理 XML 資料? May 05, 2024 am 09:15 AM

使用PHPXML函數處理XML資料:解析XML資料:simplexml_load_file()和simplexml_load_string()載入XML檔案或字串。存取XML資料:利用SimpleXML物件的屬性和方法來取得元素名稱、屬性值和子元素。修改XML資料:使用addChild()和addAttribute()方法新增元素和屬性。序列化XML資料:asXML()方法將SimpleXML物件轉換為XML字串。實戰案例:解析產品饋送XML,提取產品信息,轉換並將其儲存到資料庫中。

C#的就業前景如何 C#的就業前景如何 Oct 19, 2023 am 11:02 AM

無論您是初學者還是有經驗的專業人士,掌握C#將為您的職業發展鋪平道路。

使用Python實現XML中的資料校驗 使用Python實現XML中的資料校驗 Aug 10, 2023 pm 01:37 PM

使用Python實現XML中的資料校驗引言:在現實生活中,我們經常會處理各種各樣的數據,其中XML(可擴展標記語言)是一種常用的數據格式。 XML具有良好的可讀性和可擴充性,廣泛應用於各種領域,如資料交換、設定檔等。在處理XML資料時,我們經常需要對資料進行校驗,以確保資料的完整性和正確性。本文將介紹如何使用Python實現XML中的資料校驗,並給予對應的

See all articles