C#中将DataSet的内容写成XML

 我来答
京斯年0GZ
2022-10-02 · TA获得超过6208个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:74.3万
展开全部

  许多读者经常询问一个问题 那就是在将DataSet的内容写成XML时 如何格式化字段数据 最常见的需求 就是希望日期时间值与数值数据能够以所需的格式呈现于XML中 欲达此目的 可以采用下列两种作法

  ◆使用XmlConvert类 ◆将一个XSLT转换套用至DataSet数据的XML表示

   程序范例

  图 所示是程序范例CH _DemoForm cs的执行画面 我们发现 从DataSet写成XML的日期与薪资字段数据皆已采用我们所要求的格式 基本上 本范例是利用XmlConvert类来完成字段的格式化操作 相关程序代码编写在按钮的Click事件处理函数中 列示如下

  

  

  // 导入命名空间 using System Xml;using System Data SqlClient;using System IO;

  private void btnWriteDataSetToXml_Click(object sender EventArgs e){string myXmlFile = @ C:\DataSetOutputXml xml ;

  try{// 建立一个 XmlTextReader 对象来读取 XML 数据 using(XmlTextReader myXmlReader = new XmlTextReader(ds GetXml() XmlNodeType Element null)){// 使用指定的文件与编码方式来建立一个 XmlTextWriter 对象 using(System Xml XmlTextWriter myXmlWriter = new System Xml XmlTextWriter(myXmlFile Encoding UTF )){myXmlWriter Formatting = Formatting Indented;myXmlWriter Indentation = ;myXmlWriter WriteStartDocument();

  string elementName = ;

  // 解析并显示每一个节点 while(myXmlReader Read()){switch(myXmlReader NodeType){case XmlNodeType Element:myXmlWriter WriteStartElement(myXmlReader Name);elementName = myXmlReader Name;

  break;case XmlNodeType Text:switch(elementName ToLower()){case 出生日期 :// 要求转换成字符串的日期时间数据采用自定义的格式字符串来格式化 myXmlWriter WriteString(XmlConvert ToDateTime(myXmlReader Value XmlDateTimeSerializationMode Local) ToString( yyyy 年 MMMM dd 号 dddd 时间 HH 点 mm 分 ss 秒 ));

  break;case 雇用日期 :case 加薪日期 :// 要求转换成字符串的日期时间数据采用简短日期模式 myXmlWriter WriteString(XmlConvert ToDateTime(myXmlReader Value XmlDateTimeSerializationMode Local) ToString( d ));

  break;case 起薪 :case 目前薪资 :// 要求转换成字符串的薪资值采用货币格式 myXmlWriter WriteString(XmlConvert ToDecimal(myXmlReader Value) ToString( c ));

  break;default:myXmlWriter WriteString(myXmlReader Value);

  break;}

  break;case XmlNodeType EndElement:myXmlWriter WriteEndElement();

  break;}}}}

  // 读取所输出的 Xml 文件 并将其内容显示在 TextBox 文本框中 txtXmlResult Text = File ReadAllText(myXmlFile);}catch(Exception ex){MessageBox Show(ex Message);}}

lishixinzhi/Article/program/net/201311/13105

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式