私はこれが漠然とした自由形式の質問であることを知っています。私はいくつかの一般的な方向性を得ることを望んでいます。
ASP.NET C#サイト/アプリケーションにcXMLパンチアウトを追加する必要があります。これは、ColdFusionで何年も前に書いたものに取って代わるものです。
私はかなり経験豊富なC#開発者ですが、XMLについてはあまり取り組んでいません。.NETでXMLを処理するためのさまざまなオプションがたくさんあるようです。
自由形式の質問は次のとおりです。ファイルや文字列など、何らかの形式のXMLドキュメントがあるとすると、コードに読み込むための最良の方法は何ですか。データを取得してからデータベースなどにクエリを実行したい。cXMLドキュメントのサイズとトラフィック量は簡単に十分に小さいため、cXMLドキュメントをメモリにロードすることは問題ありません。
するべきか:
1)dtdに基づいて手動でクラスを構築し、XMLシリアライザーを使用しますか?
2)ツールを使用してクラスを生成します。Ariba.comからダウンロード可能なサンプルcXMLファイルがあります。xsd.exeを試してxsdを生成し、次にxsd.exe/cを試してクラスを生成しました。デシリアライズしようとすると、一部の要素を単一の値にするか配列にするかについて「混乱」があるように見えるため、エラーが発生します。
CodeXSオンラインツールを試しましたが、サンプルドキュメントを逆シリアル化しようとすると、ログにエラーが発生し、エラーが発生します。
2)データセットとReadXml()を作成しますか?
3)型付きデータセットとReadXml()を作成しますか?
4)LinqtoXMLを使用します。私はLinqtoObjectsをよく使用するので、Linq全般に精通していますが、この状況でLinqが何を提供するかを確認するのに苦労しています。
5)他の手段。
XML全般についての理解を深める必要があると思いますが、それでも...これを行うための明白な方法が欠けていますか?古いColdFusionサイトで、基本的にスキーマを無視し、XMLを「構造」に読み込む無料のコンポーネント(「タグ」)を見つけました。これは、本質的に一連のネストされたハッシュテーブルであり、コードで簡単に読み取ることができます。それはおそらくかなりずさんでしたが、うまくいきました。
また、C#オブジェクトからXMLファイルを生成する必要があります。たぶん、LinqtoXMLはそのために良いでしょう。デフォルトの「テンプレート」ドキュメントから始めて、保存する前にそれを操作することができます。
ポインタをありがとう...