C#中将DataSet的内容写成XML时如何格式化字段数据
2009-02-11 23:15
393 查看
许多读者经常询问一个问题,那就是在将DataSet的内容写成XML时,如何格式化字段数据。最常见的需求,就是希望日期时间值与数值数据能够以所需的格式呈现于XML中。欲达此目的,可以采用下列两种作法:
◆使用XmlConvert类。
◆将一个XSLT转换套用至DataSet数据的XML表示。
程序范例
本范例是利用XmlConvert类来完成字段的格式化操作。
注:switch中每个case后面的值就是列名,请读者根据需要进行修改。。
◆使用XmlConvert类。
◆将一个XSLT转换套用至DataSet数据的XML表示。
程序范例
本范例是利用XmlConvert类来完成字段的格式化操作。
// 导入命名空间。 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.UTF8)) { myXmlWriter.Formatting = Formatting.Indented; myXmlWriter.Indentation = 4; 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); } }
注:switch中每个case后面的值就是列名,请读者根据需要进行修改。。
相关文章推荐
- C#中将DataSet的内容写成XML时如何格式化字段数据
- C#中将DataSet的内容写成XML
- 在c#中将dataset输出成xml内容的xls文件,解决其它输出不能在excel中显示“001”的前导0的问题
- 如何通过Java的Web服务器把DataSet或DataTable数据通过json格式传回给C#的客户端
- 如何提高C#中将数据导入到Excel的性能
- [C#自学第二天]XML 与DataSet互转数据
- C#数据表字段内容简繁体批量互转工具
- XML与DataTable/DataSet互转(C#) 把数据库中表的内容转存为XML文件
- WebService传递XML数据 C#DataSet操作XML 解析WebService返回的XML数据
- Sqlserver更新数据表xml类型字段内容某个节点值的脚本
- 如何将数据从DATASET写入XML文档,并转换成其他应用系统所需的格式!(如RSS阅读器XML文档格式)
- [C#]Winform后台提交数据且获取远程接口返回的XML数据,转换成DataSet
- oracle存储过程如何取动态字段内容(临时表)并汇总合并输出数据集
- GOOGLE Gadgets 处理远程内容,如何提取和控制远程文本(通常为 HTML)、XML、JSON 和 RSS/Atom 供稿数据。
- C# 获取xml数据,并转换为dataset
- C#数据表字段内容简繁体批量互转工具
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- 如何提高C#中将数据导入到Excel的性能
- C#读取xml文档数据到DataSet