ここでは、XML Web Interfaceのデータを使用して問題が発生します。.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>
ネット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以外のタイムゾーンにある場合にのみ発生します。
私はそれを望んでいません。私はこれで大丈夫ですが、タイムスタンプを変更して元の(+ 1)タイムゾーンで使用したくない場合があります。残念ながら、タイムスタンプが配信されたタイムゾーンの情報が失われています(または、解析後にこの情報を抽出する方法が見つかりませんでした)ので、タイムスタンプを変更して自分のニーズに再び適合させることはできません。
すべてのアイデア?ああ、もう一つ。 xmlの変更はオプションではないので、私はこの問題を私の側で処理しなければなりません。
編集:コメントへのタイプミス&答えを
マーク? –
".Net XML-Decoder"とは何ですか? – Andrey