• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    通过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\"?>");
    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.创建文件流
    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);
    ListBookInfo> 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 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 图书信息实体类
    复制代码 代码如下:

    /// 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#定义的MP3播放类实例
    • C#实现简单播放mp3的方法
    • C#基于OLEDB获取Excel文件表结构信息的方法
    • C#编程实现动态改变配置文件信息的方法
    • C#获取文件相关信息的方法
    • C#获取指定文件著作权信息的方法
    • C#获取程序文件相关信息的方法
    • C#获得文件属性信息的实现方法
    • C#使用shell32获取文件属性的方法
    • C#实现获取mp3 Tag信息的方法
    上一篇:C#获取当前页面的URL示例代码
    下一篇:C#操作Excel数据增删改查示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    通过C#动态生成图书信息XML文件 通过,动态,生成,图书,信息,