In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-22 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >
Share
Shulou(Shulou.com)06/03 Report--
这篇文章主要讲解了"怎么通过C#动态生成图书信息XML文件",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么通过C#动态生成图书信息XML文件"吧!
通过C#动态生成图书信息XML文件(Books.xml),文件如下:
复制代码 代码如下:
Harry Potter
J K. Rowling
2005-08-15
29.99
Learning XML
Erik T. Ray
2003-10-18
39.95
方法1:使用StringBuilder拼接XML
复制代码 代码如下:
///
/// 创建图书信息XML
///
public void CreateBookXML(string fileName)
{
StringBuilder xmlResult = new StringBuilder("");
List bookList = GetBookList(); //获取图书列表
if (bookList != null && bookList.Count > 0)
{
xmlResult.Append("");
foreach (BookInfo book in bookList)
{
xmlResult.AppendFormat("", book.BookId, book.Category);
xmlResult.AppendFormat("{0}", book.Title);
xmlResult.AppendFormat("{0}", book.Author);
xmlResult.AppendFormat("{0}", book.PublishDate.ToString("yyyy-MM-dd"));
xmlResult.AppendFormat("{0}", book.Price);
xmlResult.Append("");
}
xmlResult.Append("");
}
//写入文件
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
复制代码 代码如下:
///
/// 创建图书信息XML
///
///
public void CreateBookXML(string fileName)
{
try
{
FileStream fileStream = new FileStream(fileName, FileMode.Create);
XmlTextWriter writer = new XmlTextWriter(fileStream, Encoding.UTF8);
List 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 获取图书列表
复制代码 代码如下:
///
/// 获取图书列表
///
///
public List GetBookList()
{
List bookList = new List();
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 图书信息实体类
复制代码 代码如下:
///
/// 图书信息实体类
///
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文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.