资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

怎么通过C#动态生成图书信息XML文件-创新互联

这篇文章主要讲解了“怎么通过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文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联网站建设公司,,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前题目:怎么通过C#动态生成图书信息XML文件-创新互联
分享地址:http://www.cdkjz.cn/article/cogicc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220