DataSet和xml相互转换问题
读取xml文件,并转换成DataSet,随机就将DataSet再转换成XML文档,然后读取刚刚导出的xml文件会报错:根级别上的数据无效。 行 2,位置 1,我看了下转换的xml文档并没有什么问题,然后将出问题位置的 “<” 删掉再加上就没问题了!很奇怪,不知道大家有没有遇到过。。。下面是我的代码:
用对比工具也显示此处不同
/// <summary>
/// 将xml对象内容转换为dataset
/// </summary>
/// <param name="xmlData"></param>
/// <returns></returns>
private DataSet ConvertXMLToDataSet(string xmlData)
{
using (StringReader stream = new StringReader(xmlData))
{
using (XmlTextReader reader = new XmlTextReader(stream))
{
try
{
DataSet xmlDS = new DataSet();
xmlDS.ReadXml(reader);
return xmlDS;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (reader != null)
reader.Close();
}
}
}
}
/// <summary>
/// 将DataSet转换为xml对象字符串
/// </summary>
/// <param name="xmlDS"></param>
/// <returns></returns>
public string ConvertDataSetToXML(DataSet xmlDS)
{
using (MemoryStream stream = new MemoryStream())
{
//从stream装载到XmlTextReader
using (XmlTextWriter writer = new XmlTextWriter(stream, Encoding.Unicode))
{
try
{
//用WriteXml方法写入文件.
xmlDS.WriteXml(writer);
int count = (int)stream.Length;
byte[] arr = new byte[count];
stream.Seek(0, SeekOrigin.Begin);
stream.Read(arr, 0, count);
UnicodeEncoding utf = new UnicodeEncoding();
return utf.GetString(arr).Trim();
}
catch (System.Exception ex)
{
throw ex;
}
finally
{
if (writer != null) writer.Close();
}
}
}
}
/// <summary>
/// 将DataSet转换为xml文件
/// </summary>
/// <param name="xmlDS"></param>
/// <param name="xmlFile"></param>
public void ConvertDataSetToXMLFile(DataSet xmlDS,string xmlFile)
{
using (MemoryStream stream = new MemoryStream())
{
//从stream装载到XmlTextReader
using (XmlTextWriter writer = new XmlTextWriter(stream, Encoding.Unicode))
{
try
{
//用WriteXml方法写入文件.
xmlDS.WriteXml(writer);
int count = (int)stream.Length;
byte[] arr = new byte[count];
stream.Seek(0, SeekOrigin.Begin);
stream.Read(arr, 0, count);
//返回Unicode编码的文本
UnicodeEncoding utf = new UnicodeEncoding();
StreamWriter sw = new StreamWriter(xmlFile);
sw.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sw.WriteLine(utf.GetString(arr).Trim());
sw.Close();
}
catch (System.Exception ex)
{
throw ex;
}
finally
{
if (writer != null) writer.Close();
}
}
}
} 用对比工具也显示此处不同
...全文
相关推荐
DataSet与XML相互转换源码
将`DataSet`与XML进行相互转换,可以方便地在两者之间传递数据,增强程序的灵活性和兼容性。
ASP.NET应用:DataSet 和XML
标题:“ASP.NET应用:DataSet 和XML”描述:“xml与dataset介绍及它们之间相互转换的介绍”**知识点概览**本文将深入探讨ASP.NET应用程序中,`DataSet`与`XML`
C#_面试题_技术部的面试官一般提问的问题
常见的XML技术包括:- **XML文档**: 基本的XML文档格式。- **XSLT**: 用于转换XML文档。- **XPath**: 用于在XML文档中查找信息。
ASP.NET面试资料
- **优势**: - 良好的互操作性:不同操作系统和编程语言间可以相互通信。 - 易于集成:可以轻松地与其他系统集成。#### 十、XML的应用- **XSLT**:用于转换XML文档的一种语言。
数据挖掘技术在煤矿监控中应用研究.pdf
这一过程中,DataSet和XML充当了转换介质的角色。数据仓库的建立是该模型的第二个关键部分。在SqlServer中,数据仓库的创建通过建立数据库和表来实现,同时需要选择合适的数据模型结构。


