亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

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

2024-09-05 20:54:34
字體:
來源:轉載
供稿:網友

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
寫出包含指定文本的 <![CDATA[...]]> 塊

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

WriteWhiteSpace
寫出給定的空白

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

如果你對于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'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文件,文件的內容為:


<items>
<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類也十分的容易使用

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品国产91久久久久久| 亚洲国产美女久久久久| 亚洲欧美在线磁力| 久久香蕉频线观| 尤物yw午夜国产精品视频明星| 日韩精品在线观看视频| 亚洲一区二区三区四区视频| 亚洲天堂日韩电影| 姬川优奈aav一区二区| 久久久久久久久久久久久久久久久久av| 在线观看亚洲视频| 91精品国产综合久久香蕉922| 亚洲综合视频1区| 亚洲欧美国产日韩天堂区| 亚洲人成在线观看网站高清| 98精品国产自产在线观看| 欧美极品少妇xxxxⅹ免费视频| 57pao成人国产永久免费| 国产激情综合五月久久| 91视频8mav| 亚洲第一精品夜夜躁人人躁| 亚洲人成电影在线播放| 久久人人爽人人爽人人片av高清| 精品久久久在线观看| 国产成人精品一区二区| 欧美巨乳在线观看| 欧美日韩加勒比精品一区| 亚洲黄色www| 国产成人在线亚洲欧美| 欧美夫妻性生活视频| 欧美孕妇毛茸茸xxxx| 国产精品女主播视频| 亚洲精品视频免费| 日韩精品中文字幕在线观看| 2019亚洲男人天堂| 亚洲久久久久久久久久| 亚洲第一区第二区| 亚洲自拍小视频| 国产欧美日韩中文字幕| 久久激情视频免费观看| 97人人模人人爽人人喊中文字| 久久久国产一区| 日韩一区av在线| 亚洲欧美色图片| 国产97色在线| 亚洲国产天堂久久综合| 国产成人精品一区| 成人高h视频在线| 国产91九色视频| 亚洲国产精品资源| 福利一区视频在线观看| 神马久久久久久| 久久久久女教师免费一区| 久久久久99精品久久久久| 精品国产老师黑色丝袜高跟鞋| 亚洲精品视频中文字幕| 欧美成人精品激情在线观看| 亚洲免费伊人电影在线观看av| 久久久久久久久久久成人| 日韩电影在线观看永久视频免费网站| 久久不射电影网| 久久久视频在线| 中文字幕视频一区二区在线有码| 8x拔播拔播x8国产精品| 欧美不卡视频一区发布| 日韩av在线免播放器| 久久好看免费视频| 欧美精品精品精品精品免费| 亚洲美女黄色片| 欧美视频在线观看 亚洲欧| 欧美日韩国产影院| 欧美高清自拍一区| 美日韩在线视频| 国产综合香蕉五月婷在线| 97久久精品人搡人人玩| 欧美亚洲第一页| 日韩欧美国产一区二区| 久久久久久91香蕉国产| 欧美日韩亚洲天堂| 精品亚洲aⅴ在线观看| 538国产精品一区二区免费视频| 日本一欧美一欧美一亚洲视频| 国产精品成人观看视频国产奇米| 精品亚洲一区二区三区在线播放| 亚洲qvod图片区电影| 成人免费视频网| 精品久久久久久久久久久久久| 中文字幕欧美国内| 亚洲成人久久久| 奇米影视亚洲狠狠色| 欧美激情第6页| 91精品在线播放| 亚洲va男人天堂| 欧美日韩在线免费| 成人做爰www免费看视频网站| 国模精品一区二区三区色天香| www.99久久热国产日韩欧美.com| 欧美国产日韩一区二区在线观看| 久久久国产精品x99av| 亚洲人成在线免费观看| 精品国产福利视频| 亚洲另类激情图| 亚洲国产高清高潮精品美女| 国产精品久久久久久搜索| 国产精品精品视频一区二区三区| 欧美一级电影久久| 日韩精品免费一线在线观看| 日韩高清电影好看的电视剧电影| 国产欧美一区二区三区久久| 精品久久久久久| 国产一区二区三区在线视频| 欧美成人在线免费视频| 正在播放亚洲1区| 成人xvideos免费视频| 久久精品91久久久久久再现| 亚洲xxxx做受欧美| 久久久在线免费观看| 国产精品久久久久久搜索| 国产精品流白浆视频| 国产精品网红直播| 91福利视频在线观看| 欧美成人手机在线| 久久久久久久久亚洲| 精品丝袜一区二区三区| 日韩亚洲欧美中文高清在线| 日韩av免费看| 久久精品99久久久久久久久| 欧美综合在线第二页| 国产一区在线播放| 久久影视电视剧凤归四时歌| 成人伊人精品色xxxx视频| 国产精品久久久一区| 国产精品久久久999| 日韩在线播放av| 疯狂蹂躏欧美一区二区精品| 国产va免费精品高清在线观看| 国产精品免费小视频| 中文字幕亚洲天堂| 久久精品国产一区二区三区| 色av吧综合网| 中文字幕精品一区二区精品| 日本最新高清不卡中文字幕| 欧美日韩在线看| 成人444kkkk在线观看| 海角国产乱辈乱精品视频| 中文在线资源观看视频网站免费不卡| 992tv在线成人免费观看| 在线观看日韩视频| 日韩一级裸体免费视频| 欧美激情一区二区三级高清视频| 久久亚洲精品网站| 久久久久久综合网天天| 亚洲三级免费看| 久久免费观看视频| 88国产精品欧美一区二区三区| 国产精品久久久999| 日本亚洲欧洲色α| 日韩黄色av网站| 亚洲精品一区中文| 国产成人精品综合久久久| 亚洲精品视频播放| 欧美亚洲另类制服自拍| 中文字幕精品视频| 欧美日韩另类在线|