加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

DataSet 读写xml 之后 时间格式多了时区的问题

发布时间:2020-12-16 09:36:21 所属栏目:百科 来源:网络整理
导读:故事是这样,我的XML头部,有这样一个字段,datatime, xs:schema id="PkgDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xs:element name="PkgDataSet" msdata:IsDataSet="true" xs:comp

故事是这样,我的XML头部,有这样一个字段,datatime,


<xs:schema id="PkgDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="PkgDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Table" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string" minOccurs="0"/>
<xs:element name="SubFileCreateDate" type="xs:dateTime" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>

然后我用D

DataSet dataSet =null;


dataSet = new DataSet();
dataSet.ReadXml(m_strUpdataInfoPath);


treeList1.DataSource = dataSet.Tables["Table"].DefaultView;

然后我保存之后,

dataSet.WriteXml("e:tmp.xml");


情况变成这样:


多了+08:00


显然是时区的问题,然后到网上找了好多文章,这还是个相当不好处理的问题.


大意是这样:

dataSet = new DataSet();

此时的dataSet的locate = "zh-CN"

可是,执行完

dataSet.ReadXml(m_strUpdataInfoPath);

之后,变成:en-US


然后,这个贴子里说得清楚:

http://stackoverflow.com/questions/427439/dataset-locale-what-it-does

Sounds like a known TimeZone issue: changing DataSet.Locale won't help.


我改了locate

dataSet = new DataSet();
dataSet.ReadXml(m_strUpdataInfoPath);

//System.Globalization.CultureInfo usCult = new System.Globalization.CultureInfo("zh-CN");//en-US
//dataSet.Locale = usCult;


果然没有用.


所以,问题应该是出在xml的序列器上.

这个序列器,认为那个xml是个美国人做的. 这就不好办了.

当然,网上有人自己写序列器,这个太难了,我也不会.


所以,从上面的stack overflow的贴子里找到提示,这样处理:

dataSet.Tables[0].Columns["SubFileCreateDate"].DateTimeMode = DataSetDateTime.Unspecified; 然后解决了. 很好.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读