这里是我使用xml-webinterface中的数据的问题。在使用.Net XML分析器时丢失时区信息
该接口提供我有很多数据块的像正确的数据这一项:
<item>
<date>2011-01-19T09:02:00+01:00</date>
<open>46.625</open>
<high>46.625</high>
<low>46.62</low>
<close>46.62</close>
<volume>827</volume>
<count>2</count>
<type>TRADE</type>
</item>
在.NET XML的解码器(System.XML.Serialisation.XmlSerializer)解析这个(根据我的XSD sceme)转换为包含“日期”属性的对象。
在这里被剪断从XSD生成的代码:
[System.CodeDom.Compiler.GeneratedCodeAttribute( “XSD”, “2.0.50727.3038”)] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute( “代码”)] 公共部分类TimeseriesElement {
private System.DateTime dateField; /// <remarks/> public System.DateTime date { get { return this.dateField; } set { this.dateField = value; } } }
这里有一个包含其他值的派生值。没有什么有趣的东西可以在这里看到,我猜...对我来说问题在于关于时区的信息已经消失了。是的,时间戳已正确修改为系统正在运行的当前活动时区。是的,只有当用户位于不同于+1的时区时才会发生此情况。
我不想那样,最后并不总是。大多数情况下,我对此都很满意,但有些情况下我不想更改时间戳并将其用于本地(+1)时区。遗憾的是,我放弃了时间戳发布时间的信息(或者在解析生效后没有找到方法来提取这些信息),所以我无法改变时间戳以使其再次适合我的需求。
任何想法?哦,还有一件事。更改xml不是一种选择,所以我必须在我身边处理这个问题。
编辑:错别字&答案的评论
您可以发布您的代码读取XML的例子吗? – 2011-01-19 12:07:20
什么是“.Net XML-Decoder”? – Andrey 2011-01-19 12:12:14