当前位置:编程学习 > C#/ASP.NET >>

dataset的ReadXmlSchema问题(xs:date)

使用dataset的getxml方法,得到的日期类型是带TIMEZONE的。例如:    <kpsj>2011-01-01T00:00:00+08:00</kpsj>

问题是这样的:

在xsd文件中定义的这个字段是日期类型xs:date的。我想xml得到正常的日期格式,例如2011-01-01,或者能指定格式的。有什么办法? 

           //使用包含定义的数据集来处理
            DataSet ds1 = new DataSet();
            ds1.ReadXmlSchema(txtXsdFile.Text); //读取架构文件
           
            //将数据复制到表中
            for(int i=0;i<ds.Tables[0].Rows.Count;i++)
               ds1.Tables[0].ImportRow(ds.Tables[0].Rows[i]);    

        
            //显示数据       
            txtXML.Text = ds1.GetXml();



目前我自己得到的结论是这样的:

因为.net根本没有date类型,所以在读取xsd文件时,也只能把xs:date当成datetime看待。所以无论在xsd定义date和dateTime是一样的。

既然数据类型没有办法,那现在的问题是,有没有好的方法,可以在getxml时,能够按格式来输出日期类型的字段。这个需要比较通用,也就是对于任何dataset和schema都适用的。
--------------------编程问答-------------------- 格式都是在显示的时候指定的,存储的格式是标准的写法。 --------------------编程问答--------------------
引用 1 楼 net_lover 的回复:
格式都是在显示的时候指定的,存储的格式是标准的写法。

谢谢回复。但是请看清题目,谢谢!跟存储过程都无关。

问题是dataset.getxml,这个函数是dataset里面实现的。问题是因为.net不支持w3c在xsd文件中定义的xs:date格式引起,查询过源码,确实是类型xs:date映射到DateTime,这个现实估计必须得认。现在需要一个比较好的解决方法。
补充:.NET技术 ,  .NET Framework
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,