主頁 > 知識(shí)庫 > 通過C#動(dòng)態(tài)生成圖書信息XML文件

通過C#動(dòng)態(tài)生成圖書信息XML文件

熱門標(biāo)簽:世紀(jì)佳緣地圖標(biāo)注怎么去掉 外呼系統(tǒng)代理品牌 十堰正規(guī)電銷機(jī)器人系統(tǒng) 外呼系統(tǒng)費(fèi)用一年 辦理400電話證件 手機(jī)地圖標(biāo)注如何刪除 巫師3為什么地圖標(biāo)注的財(cái)寶沒有 怎么給超市做地圖標(biāo)注入駐店 寧波自動(dòng)外呼系統(tǒng)代理
通過C#動(dòng)態(tài)生成圖書信息XML文件(Books.xml),文件如下:
復(fù)制代碼 代碼如下:

?xml version="1.0" encoding="iso-8859-1"?>
bookstore>

book id="1" category="CHILDREN">
title>Harry Potter/title>
author>J K. Rowling/author>
publishDate>2005-08-15/publishDate>
price>29.99/price>
/book>

book id="2" category="WEB">
title>Learning XML/title>
author>Erik T. Ray/author>
publishDate>2003-10-18/publishDate>
price>39.95/price>
/book>

/bookstore>

方法1:使用StringBuilder拼接XML
復(fù)制代碼 代碼如下:

/// summary>
/// 創(chuàng)建圖書信息XML
/// /summary>
public void CreateBookXML(string fileName)
{
StringBuilder xmlResult = new StringBuilder("?xml version=\"1.0\" encoding=\"utf-8\"?>");
ListBookInfo> bookList = GetBookList(); //獲取圖書列表
if (bookList != null bookList.Count > 0)
{
xmlResult.Append("bookstore>");
foreach (BookInfo book in bookList)
{
xmlResult.AppendFormat("book id=\"{0}\" category=\"{1}\">", book.BookId, book.Category);
xmlResult.AppendFormat("title>{0}/title>", book.Title);
xmlResult.AppendFormat("author>{0}/author>", book.Author);
xmlResult.AppendFormat("publishDate>{0}/publishDate>", book.PublishDate.ToString("yyyy-MM-dd"));
xmlResult.AppendFormat("price>{0}/price>", book.Price);
xmlResult.Append("/book>");
}
xmlResult.Append("/bookstore>");
}

//寫入文件
try
{
//1.創(chuàng)建文件流
FileStream fileStream = new FileStream(fileName, FileMode.Create);
//2.創(chuàng)建寫入器
StreamWriter streamWriter = new StreamWriter(fileStream);
//3.將內(nèi)容寫入文件
streamWriter.WriteLine(xmlResult);
//4.關(guān)閉寫入器
streamWriter.Close();
//5.關(guān)閉文件流
fileStream.Close();
}
catch (Exception e)
{ }
}

方法2:使用XmlTextWriter類創(chuàng)建XML
復(fù)制代碼 代碼如下:

/// summary>
/// 創(chuàng)建圖書信息XML
/// /summary>
/// param name="fileName">/param>
public void CreateBookXML(string fileName)
{
try
{
FileStream fileStream = new FileStream(fileName, FileMode.Create);
XmlTextWriter writer = new XmlTextWriter(fileStream, Encoding.UTF8);
ListBookInfo> bookList = GetBookList(); //獲取圖書列表
if (bookList != null bookList.Count > 0)
{
writer.WriteStartDocument();
writer.WriteStartElement("bookstore"); //創(chuàng)建父節(jié)點(diǎn)
foreach (BookInfo book in bookList)
{
writer.WriteStartElement("book"); //創(chuàng)建子節(jié)點(diǎn)
writer.WriteAttributeString("id", book.BookId.ToString()); //添加屬性
writer.WriteAttributeString("category", book.Category);
//圖書名稱節(jié)點(diǎn)
writer.WriteStartElement("title");
writer.WriteValue(book.Title); //節(jié)點(diǎn)賦值
writer.WriteEndElement();
//圖書作者節(jié)點(diǎn)
writer.WriteStartElement("author");
writer.WriteValue(book.Author);
writer.WriteEndElement();
//出版時(shí)間節(jié)點(diǎn)
writer.WriteStartElement("publishDate");
writer.WriteValue(book.PublishDate.ToString("yyyy-MM-dd"));
writer.WriteEndElement();
//銷售價(jià)格節(jié)點(diǎn)
writer.WriteStartElement("price");
writer.WriteValue(book.Price);
writer.WriteEndElement();

writer.WriteEndElement(); //子節(jié)點(diǎn)結(jié)束
}
writer.WriteEndElement(); //父節(jié)點(diǎn)結(jié)束
}
writer.WriteEndDocument();
writer.Close();
fileStream.Close();
}
catch (Exception e)
{ }
}

XmlTextWriter類:表示提供快速、非緩存、只進(jìn)方法的編寫器,該方法生成包含 XML 數(shù)據(jù)的流或文件。
WriteStartDocument()方法:編寫XML的聲明。
WriteEndDocument()方法:關(guān)閉任何打開的元素或?qū)傩圆⒕帉懫髦匦略O(shè)置為 Start 狀態(tài)。
WriteStartElement(string localName)方法:創(chuàng)建一個(gè)節(jié)點(diǎn)的開始。
WriteAttributeString(string localName, string value)方法:給節(jié)點(diǎn)添加屬性。
WriteValue(value)方法:給節(jié)點(diǎn)賦值。

3、其他代碼

3.1 獲取圖書列表
復(fù)制代碼 代碼如下:

/// summary>
/// 獲取圖書列表
/// /summary>
/// returns>/returns>
public ListBookInfo> GetBookList()
{
ListBookInfo> bookList = new ListBookInfo>();
BookInfo book1 = new BookInfo() {
BookId = 1,
Category = "CHILDREN",
Title = "Harry Potter",
Author = "J K. Rowling",
PublishDate = new DateTime(2005,08,15),
Price = 29.99
};
bookList.Add(book1);
BookInfo book2 = new BookInfo()
{
BookId = 2,
Category = "WEB",
Title = "Learning XML",
Author = "Erik T. Ray",
PublishDate = new DateTime(2003,10,18),
Price = 39.95
};
bookList.Add(book2);
return bookList;
}

3.2 圖書信息實(shí)體類
復(fù)制代碼 代碼如下:

/// summary>
/// 圖書信息實(shí)體類
/// /summary>
public class BookInfo
{
public int BookId { set; get; } //圖書ID
public string Title { set; get; } //圖書名稱
public string Category { set; get; } //圖書分類
public string Author { set; get; } //圖書作者
public DateTime PublishDate { set; get; } //出版時(shí)間
public Double Price { set; get; } //銷售價(jià)格
}
您可能感興趣的文章:
  • C#定義的MP3播放類實(shí)例
  • C#實(shí)現(xiàn)簡單播放mp3的方法
  • C#基于OLEDB獲取Excel文件表結(jié)構(gòu)信息的方法
  • C#編程實(shí)現(xiàn)動(dòng)態(tài)改變配置文件信息的方法
  • C#獲取文件相關(guān)信息的方法
  • C#獲取指定文件著作權(quán)信息的方法
  • C#獲取程序文件相關(guān)信息的方法
  • C#獲得文件屬性信息的實(shí)現(xiàn)方法
  • C#使用shell32獲取文件屬性的方法
  • C#實(shí)現(xiàn)獲取mp3 Tag信息的方法

標(biāo)簽:嘉興 天門 景德鎮(zhèn) 通遼 牡丹江 山西 泰州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《通過C#動(dòng)態(tài)生成圖書信息XML文件》,本文關(guān)鍵詞  通過,動(dòng)態(tài),生成,圖書,信息,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《通過C#動(dòng)態(tài)生成圖書信息XML文件》相關(guān)的同類信息!
  • 本頁收集關(guān)于通過C#動(dòng)態(tài)生成圖書信息XML文件的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章