欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于C#中XmlWriter寫入Xml的深入分析

 更新時間:2013年05月20日 08:56:31   作者:  
本篇文章是對C#中XmlWriter寫入Xml進行了詳細的分析介紹,需要的朋友參考下
假定創(chuàng)建了XmlWriter的實例變量xmlWriter,下文中將使用此實例變量寫Xml
1.如何使用XmlWriter寫Xml文檔聲明
復制代碼 代碼如下:

// WriteStartDocument方法可以接受一個bool參數(shù)(表示standalone,是否為獨立文檔)或者不指定參數(shù)standalone保持默認值
xmlWriter.WriteStartDocument(false|true);

注意在使用WriteStartDocument方法后最好調(diào)用xmlWrite.WriteEndDocument()方法來關閉所有可能未關閉標簽
2.如何使用XmlWriter寫xml節(jié)點以及屬性
復制代碼 代碼如下:

//寫節(jié)點
xmlWriter.WriteStartElement("cat");
//給節(jié)點添加屬性
xmlWriter.WriteAttributeString("color", "white");
//給節(jié)點內(nèi)部添加文本
xmlWriter.WriteString("I'm a cat");
xmlWriter.WriteEndElement();

或者通過WriteElementString(string,string)方法寫xml節(jié)點同時寫下節(jié)點值,如下
復制代碼 代碼如下:

//通過WriteElementString可以添加一個節(jié)點同時添加節(jié)點內(nèi)容
xmlWriter.WriteElementString("pig", "pig is great");

3.如何寫CData
復制代碼 代碼如下:

xmlWriter.WriteStartElement("dog");
//寫CData
xmlWriter.WriteCData("<strong>dog is dog</strong>");
xmlWriter.WriteEndElement();

4.如何使用XmlWriter添加注釋
復制代碼 代碼如下:

xmlWriter.WriteComment("this is an example writed by http://www.dbjr.com.cn ");

5.如何設置XmlWriter的輸出格式,解決輸出UTF-16問題
設置xml輸出格式,需要通過XmlWriterSettings類,如下代碼
復制代碼 代碼如下:

XmlWriterSettings settings = new XmlWriterSettings();
//要求縮進
settings.Indent = true;
//注意如果不設置encoding默認將輸出utf-16
//注意這兒不能直接用Encoding.UTF8如果用Encoding.UTF8將在輸出文本的最前面添加4個字節(jié)的非xml內(nèi)容
settings.Encoding = new UTF8Encoding(false);

//設置換行符
settings.NewLineChars = Environment.NewLine;

完整的代碼示例如下:
復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Xml;

namespace UseXmlWriter
{
    class Program
    {
        static void Main(string[] args)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                XmlWriterSettings settings = new XmlWriterSettings();
                //要求縮進
                settings.Indent = true;
                //注意如果不設置encoding默認將輸出utf-16
                //注意這兒不能直接用Encoding.UTF8如果用Encoding.UTF8將在輸出文本的最前面添加4個字節(jié)的非xml內(nèi)容
                settings.Encoding = new UTF8Encoding(false);

                //設置換行符
                settings.NewLineChars = Environment.NewLine;

                using (XmlWriter xmlWriter = XmlWriter.Create(ms, settings))
                {

                    //寫xml文件開始<?xml version="1.0" encoding="utf-8" ?>
                    xmlWriter.WriteStartDocument(false);
                    //寫根節(jié)點
                    xmlWriter.WriteStartElement("root");
                    //寫字節(jié)點
                    xmlWriter.WriteStartElement("cat");
                    //給節(jié)點添加屬性
                    xmlWriter.WriteAttributeString("color", "white");
                    //給節(jié)點內(nèi)部添加文本
                    xmlWriter.WriteString("I'm a cat");
                    xmlWriter.WriteEndElement();

 
                    //通過WriteElementString可以添加一個節(jié)點同時添加節(jié)點內(nèi)容
                    xmlWriter.WriteElementString("pig", "pig is great");

 
                    xmlWriter.WriteStartElement("dog");
                    //寫CData
                    xmlWriter.WriteCData("<strong>dog is dog</strong>");
                    xmlWriter.WriteEndElement();

                    xmlWriter.WriteComment("this is an example writed by  http://www.dbjr.com.cn ");

                    xmlWriter.WriteEndElement();
                    xmlWriter.WriteEndDocument();

                }

                //將xml內(nèi)容輸出到控制臺中
                string xml = Encoding.UTF8.GetString(ms.ToArray());
                Console.WriteLine(xml);
            }
            Console.Read();

        }
    }
}

相關文章

  • c#得到本月有幾周和這幾周的起止時間示例代碼

    c#得到本月有幾周和這幾周的起止時間示例代碼

    本篇文章主要是對c#得到本月有幾周和這幾周的起止時間的示例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • c#基礎系列之System.String的深入理解

    c#基礎系列之System.String的深入理解

    這篇文章主要給大家介紹了關于c#基礎系列之System.String的深入理解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • 解答“60k”大佬的19道C#面試題(上)

    解答“60k”大佬的19道C#面試題(上)

    這篇文章主要解答了“60k”大佬的19道C#面試題中的10道,文中的面試題比較小眾,作者給了不錯的答案,相信對你以后的面試有所幫助,感興趣就來了解下
    2020-06-06
  • 如何利用反射構建元數(shù)據(jù)查看器

    如何利用反射構建元數(shù)據(jù)查看器

    本篇文章是對反射構建元數(shù)據(jù)查看器進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • .NET/C# 使用Stopwatch測量運行時間

    .NET/C# 使用Stopwatch測量運行時間

    這篇文章主要介紹了.NET/C# 使用Stopwatch測量運行時間,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • Unity實現(xiàn)弧形移動效果

    Unity實現(xiàn)弧形移動效果

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)弧形移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • C#實現(xiàn)圖片上傳與瀏覽切換的方法

    C#實現(xiàn)圖片上傳與瀏覽切換的方法

    這篇文章主要介紹了C#實現(xiàn)圖片上傳與瀏覽切換的方法,是很有實用價值的一個應用技巧,需要的朋友可以參考下
    2014-08-08
  • C#訪問SqlServer設置鏈接超時的方法

    C#訪問SqlServer設置鏈接超時的方法

    這篇文章主要介紹了C#訪問SqlServer設置鏈接超時的方法,涉及CommandTimeout屬性的相關設置技巧,非常簡單實用,需要的朋友可以參考下
    2015-06-06
  • C#使用標簽軟件Bartender打印標簽模板

    C#使用標簽軟件Bartender打印標簽模板

    這篇文章介紹了C#使用標簽軟件Bartender打印標簽模板,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-01-01
  • 一款域名監(jiān)控小工具 Domain(IP)Watcher 實現(xiàn)代碼

    一款域名監(jiān)控小工具 Domain(IP)Watcher 實現(xiàn)代碼

    域名是否正常,網(wǎng)站是否可以正常訪問是很頭痛的問題,怎樣簡單地監(jiān)控域名是否可以正常訪問呢,這里發(fā)布一款域名監(jiān)控小工具:Domain(IP)Watcher
    2011-11-11

最新評論