0

現在、手動で辞書に解析する次のようなファイルがあります。

str1=Hello
str2=World

これは、いくつかの理由で実用的ではなくなりました。

  • インデックスでアクセスできる文字列のリストが必要です
  • キーと値のペアをグループに分割したい

XML の使用を検討している理由は次のとおりです。

  • キーと値のペアとグループに適しています
  • クラスを使用してそれらをシリアライズし、スペルミスをなくすことができました

しかし(シリアル化されたクラスを使用すると仮定して):

  • ドキュメント構造をマッピングするために、多くの新しいクラスを作成する必要があります
  • 通常、辞書はシリアル化できないため、特別な注意が必要です。

このアプローチをお勧めしますか? 代わりに XmlDocument クラスを使用する必要がありますか? .net 用の無料ライブラリがある他の形式はありますか?

これをアプリケーションのローカライズに使用したいと考えています。

4

3 に答える 3

5

.NET には、ローカリゼーションのためのリソースベースのサポートがかなりしっかりしているので、それを調べることができます。

本当に独自のリソース ストレージ形式を発明したい場合は、JSONをシリアル化形式 (それを処理する .NET ライブラリがたくさんあります) または YAML (適切な .NET があるかどうかわからない) として詳しく調べることをお勧めします。パーサー): どちらも見た目ははるかに単純です (それが目的の場合)。

于 2009-07-16T12:41:19.600 に答える
0

XmlDocument

どうしても必要な場合を除き、XmlDocument を使用しないでください。xml を読み取らずに構築するために最適化されています。http://www.mattberther.com/2004/06/16/xmldocument-vs-xpathnavigator/ XmlReader または XPathNavigator を使用します。クラスを読み込んでいる場合は、XMLSerializer を使用して直接シリアライズすることを検討してください。

Xml とフラット ファイル

オブジェクトの階層を作成する場合は、XML のみを使用してください。あなたの説明から、テキストファイルの単純な行ごとの読み取りで十分です。次に、「=」の最初の出現で分割し、辞書、リスト、またはカスタム構造に読み込むことができます。XML よりも高速で、保守も簡単です。

つづり

XML がスペル ミスの解決に役立つとは思いません。

ローカリゼーション

リソースファイルで行う必要があります ここを見てください http://www.codeproject.com/KB/dotnet/Localization.aspx または SO https://stackoverflow.com/questions/tagged/localization+.net

于 2009-07-16T12:51:11.727 に答える
0

CSV ファイルは適切でコンパクトです。

于 2009-07-16T12:42:24.203 に答える