2011-02-02 10 views
2

私は、データをXMLに保存してから、ある文化で直列化されたデータを別の文化で解析できるように読み返す必要があります。カルチャーに依存しない方法でデータをシリアライズ/デシリアライズする正しい方法は何ですか?

これを確認するには、2つの方法があります。私はすべての解析/文字列/ etcを確認することができます。メソッドが不変のカルチャを使用しているか、またはスレッドのカルチャを不変に設定し、すべての(デ)シリアライズを行い、以前のものに戻します。

最初のアプローチは正しいと思われますが、スレッドの文化を切り替えるのは簡単でバグが少ないようです。なぜ最初のアプローチが好まれる理由がありますか?おそらく私が気づいていない他のアプローチがありますか?

答えて

2

XmlWriter classWriteValueの方法、およびXmlReader classReadContentAsの方法を使用してください。

また、XmlConvert classの方法を使用することもできます。

これらのメソッドはすべて、文化に依存しないXML標準形式を生成します。

+0

私は知っていますが、ここのポイントには理由があるため、手動で文字列変換を行う必要がある場所があります。また、いろいろなシリアライザ・ヘルパーが私のためにこれをやっていても、私は正しい方法を自分自身で理解したい。 – tempy

+0

@tempy:これらは正しい方法です。 –