91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么通過C#動態生成圖書信息XML文件

發布時間:2021-09-10 17:11:09 來源:億速云 閱讀:211 作者:chen 欄目:開發技術

這篇文章主要講解了“怎么通過C#動態生成圖書信息XML文件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么通過C#動態生成圖書信息XML文件”吧!

通過C#動態生成圖書信息XML文件(Books.xml),文件如下:

復制代碼 代碼如下:


<?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

復制代碼 代碼如下:


/// <summary>
/// 創建圖書信息XML
/// </summary>
public void CreateBookXML(string fileName)
{
StringBuilder xmlResult = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
List<BookInfo> 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.創建文件流
FileStream fileStream = new FileStream(fileName, FileMode.Create);
//2.創建寫入器
StreamWriter streamWriter = new StreamWriter(fileStream);
//3.將內容寫入文件
streamWriter.WriteLine(xmlResult);
//4.關閉寫入器
streamWriter.Close();
//5.關閉文件流
fileStream.Close();
}
catch (Exception e)
{ }
}


方法2:使用XmlTextWriter類創建XML

復制代碼 代碼如下:


/// <summary>
/// 創建圖書信息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);
List<BookInfo> bookList = GetBookList(); //獲取圖書列表
if (bookList != null && bookList.Count > 0)
{
writer.WriteStartDocument();
writer.WriteStartElement("bookstore"); //創建父節點
foreach (BookInfo book in bookList)
{
writer.WriteStartElement("book"); //創建子節點
writer.WriteAttributeString("id", book.BookId.ToString()); //添加屬性
writer.WriteAttributeString("category", book.Category);
//圖書名稱節點
writer.WriteStartElement("title");
writer.WriteValue(book.Title); //節點賦值
writer.WriteEndElement();
//圖書作者節點
writer.WriteStartElement("author");
writer.WriteValue(book.Author);
writer.WriteEndElement();
//出版時間節點
writer.WriteStartElement("publishDate");
writer.WriteValue(book.PublishDate.ToString("yyyy-MM-dd"));
writer.WriteEndElement();
//銷售價格節點
writer.WriteStartElement("price");
writer.WriteValue(book.Price);
writer.WriteEndElement();

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


XmlTextWriter類:表示提供快速、非緩存、只進方法的編寫器,該方法生成包含 XML 數據的流或文件。
WriteStartDocument()方法:編寫XML的聲明。
WriteEndDocument()方法:關閉任何打開的元素或屬性并將編寫器重新設置為 Start 狀態。
WriteStartElement(string localName)方法:創建一個節點的開始。
WriteAttributeString(string localName, string value)方法:給節點添加屬性。
WriteValue(value)方法:給節點賦值。

3、其他代碼

3.1 獲取圖書列表

復制代碼 代碼如下:


/// <summary>
/// 獲取圖書列表
/// </summary>
/// <returns></returns>
public List<BookInfo> GetBookList()
{
List<BookInfo> bookList = new List<BookInfo>();
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 圖書信息實體類

復制代碼 代碼如下:


/// <summary>
/// 圖書信息實體類
/// </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; } //出版時間
public Double Price { set; get; } //銷售價格
}

感謝各位的閱讀,以上就是“怎么通過C#動態生成圖書信息XML文件”的內容了,經過本文的學習后,相信大家對怎么通過C#動態生成圖書信息XML文件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

轮台县| 邢台县| 内江市| 武强县| 屏东县| 青浦区| 甘孜| 金乡县| 新郑市| 辉南县| 峨眉山市| 延寿县| 宜章县| 文安县| 仙桃市| 阿鲁科尔沁旗| 东方市| 永善县| 林芝县| 紫阳县| 易门县| 加查县| 彩票| 金塔县| 耒阳市| 柳州市| 汶上县| 永清县| 桑植县| 铁力市| 亚东县| 英山县| 沧源| 商河县| 措勤县| 山东省| 察雅县| 晋中市| 北碚区| 汉中市| 抚宁县|