WriteStartElement(string localName)方法:创建一个节点的开始

时间:2022-04-26 03:25:52

通过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)  

            {