源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-10-19 12:32 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:基于C#中XmlWriter写入Xml的深入分析
假定创建了XmlWriter的实例变量xmlWriter,下文中将使用此实例变量写Xml [b]1.如何使用XmlWriter写Xml文档声明 [/b]
[u]复制代码[/u] 代码如下:
// WriteStartDocument方法可以接受一个bool参数(表示standalone,是否为独立文档)或者不指定参数standalone保持默认值 xmlWriter.WriteStartDocument(false|true);
注意在使用WriteStartDocument方法后最好调用xmlWrite.WriteEndDocument()方法来关闭所有可能未关闭标签 [b]2.如何使用XmlWriter写xml节点以及属性 [/b]
[u]复制代码[/u] 代码如下:
//写节点 xmlWriter.WriteStartElement("cat"); //给节点添加属性 xmlWriter.WriteAttributeString("color", "white"); //给节点内部添加文本 xmlWriter.WriteString("I'm a cat"); xmlWriter.WriteEndElement();
或者通过WriteElementString(string,string)方法写xml节点同时写下节点值,如下
[u]复制代码[/u] 代码如下:
//通过WriteElementString可以添加一个节点同时添加节点内容 xmlWriter.WriteElementString("pig", "pig is great");
[b]3.如何写CData [/b]
[u]复制代码[/u] 代码如下:
xmlWriter.WriteStartElement("dog"); //写CData xmlWriter.WriteCData("<strong>dog is dog</strong>"); xmlWriter.WriteEndElement();
[b]4.如何使用XmlWriter添加注释 [/b]
[u]复制代码[/u] 代码如下:
xmlWriter.WriteComment("this is an example writed by http://www.1sucai.cn ");
[b]5.如何设置XmlWriter的输出格式,解决输出UTF-16问题 [/b]设置xml输出格式,需要通过XmlWriterSettings类,如下代码
[u]复制代码[/u] 代码如下:
XmlWriterSettings settings = new XmlWriterSettings(); //要求缩进 settings.Indent = true; //注意如果不设置encoding默认将输出utf-16 //注意这儿不能直接用Encoding.UTF8如果用Encoding.UTF8将在输出文本的最前面添加4个字节的非xml内容 settings.Encoding = new UTF8Encoding(false); //设置换行符 settings.NewLineChars = Environment.NewLine;
完整的代码示例如下:
[u]复制代码[/u] 代码如下:
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个字节的非xml内容                 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);                     //写根节点                     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.1sucai.cn ");                     xmlWriter.WriteEndElement();                     xmlWriter.WriteEndDocument();                 }                 //将xml内容输出到控制台中                 string xml = Encoding.UTF8.GetString(ms.ToArray());                 Console.WriteLine(xml);             }             Console.Read();         }     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部