导出时代码(dt为DataTable类型,其中有个Column的DataType是bool型):ms = new MemoryStream();
//根据ms实例化XmlWt
XmlWt = new XmlTextWriter(ms, Encoding.Unicode);
//获取ds中的数据
dt.WriteXml(XmlWt);导入时的代码:
XmlDocument xmldoc = new XmlDocument();
//根据地址加载Xml文件
xmldoc.Load(path);DataSet ds = new DataSet();
//读取文件中的字符流
StrStream = new StringReader(xmldoc.InnerXml);
//获取StrStream中的数据
Xmlrdr = new XmlTextReader(StrStream);
//ds获取Xmlrdr中的数据
ds.ReadXml(Xmlrdr);
return ds.Tables[0];我用的xtra的TreeList显示的,结果那个保存前是bool类型的列,导入后成了string类型的列请问如何把列的类型转换回来?

解决方案 »

  1.   

    WriteXml 时同时把 DataTable 结构用 WriteXmlSchema 输出。
    然后
    先 ReadXmlSchema 再 ReadXml
      

  2.   

    写个foreach 一行一行的改吧,
     foreach (DataRow item in ds.Tables[0].Rows)
                    {
                       代码省略... 
                    }
      

  3.   

    写入时:WriteXml(xml, XmlWriteMode.WriteSchema);
    独出时:ReadXml(xml, XmlReadMode.ReadSchema);
    即可……