标签:xpath 指定 example settings root tar [] ref ogr
假定创建了XmlWriter的实例变量xmlWriter,下文中将使用此实例变量写Xml
1.如何使用XmlWriter写Xml文档声明
| // WriteStartDocument方法可以接受一个bool参数(表示standalone,是否为独立文档)或者不指定参数standalone保持默认值xmlWriter.WriteStartDocument(false|true);  | 
注意在使用WriteStartDocument方法后最好调用xmlWrite.WriteEndDocument()方法来关闭所有可能未关闭标签
2.如何使用XmlWriter写xml节点以及属性
| //写节点xmlWriter.WriteStartElement("cat");//给节点添加属性xmlWriter.WriteAttributeString("color", "white");//给节点内部添加文本xmlWriter.WriteString("I‘m a cat");xmlWriter.WriteEndElement(); | 
或者通过WriteElementString(string,string)方法写xml节点同时写下节点值,如下
| //通过WriteElementString可以添加一个节点同时添加节点内容xmlWriter.WriteElementString("pig", "pig is great"); | 
3.如何写CData
| xmlWriter.WriteStartElement("dog");//写CDataxmlWriter.WriteCData("<strong>dog is dog</strong>");xmlWriter.WriteEndElement(); | 
4.如何使用XmlWriter添加注释
| xmlWriter.WriteComment("this is an example writed by http://www.baidu.com/"); | 
5.如何设置XmlWriter的输出格式,解决输出UTF-16问题
设置xml输出格式,需要通过XmlWriterSettings类,如下代码
| XmlWriterSettings settings = newXmlWriterSettings();//要求缩进settings.Indent = true;//注意如果不设置encoding默认将输出utf-16//注意这儿不能直接用Encoding.UTF8如果用Encoding.UTF8将在输出文本的最前面添加4个字节的非xml内容settings.Encoding = newUTF8Encoding(false);                //设置换行符settings.NewLineChars = Environment.NewLine; | 
完整的代码示例如下:
| usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.IO;usingSystem.Xml;namespaceUseXmlWriter{    classProgram    {        staticvoidMain(string[] args)        {            using(MemoryStream ms = newMemoryStream())            {                XmlWriterSettings settings = newXmlWriterSettings();                //要求缩进                settings.Indent = true;                //注意如果不设置encoding默认将输出utf-16                //注意这儿不能直接用Encoding.UTF8如果用Encoding.UTF8将在输出文本的最前面添加4个字节的非xml内容                settings.Encoding = newUTF8Encoding(false);                                //设置换行符                settings.NewLineChars = Environment.NewLine;                using(XmlWriter xmlWriter = XmlWriter.Create(ms, settings))                {                    //写xml文件开始<?xml version="1.0" encoding="utf-8" ?>                    xmlWriter.WriteStartDocument(false);                    //写根节点                    xmlWriter.WriteStartElement("root");                    //写字节点                    xmlWriter.WriteStartElement("cat");                    //给节点添加属性                    xmlWriter.WriteAttributeString("color", "white");                    //给节点内部添加文本                    xmlWriter.WriteString("I‘m a cat");                    xmlWriter.WriteEndElement();                    //通过WriteElementString可以添加一个节点同时添加节点内容                    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.baidu.com/");                    xmlWriter.WriteEndElement();                    xmlWriter.WriteEndDocument();                }                //将xml内容输出到控制台中                stringxml = Encoding.UTF8.GetString(ms.ToArray());                Console.WriteLine(xml);            }            Console.Read();        }    }} | 
C#处理Xml的相关随笔:
标签:xpath 指定 example settings root tar [] ref ogr
原文地址:http://www.cnblogs.com/shigezhuang/p/7406105.html