0


0

条件付きでxmlファイルからDataTableにデータをロードする方法を教えてください。

2 Answer


1


データをロードするときに条件を適用することはできません。

XMLファイルをDataTableに簡単にロードすることができます。

  • DataTableの上にDataViewを作成して、関心のある行だけを表示します。

  • DataTableをループし、不要な行を削除します。

マーク


0


これを行う最も簡単な方法は、それを `DataTable`に読み込んだ後にデータをフィルタリングすることです。 しかし、XMLファイルが非常に大きく、フィルタ処理された行のセットが小さい場合、この方法は理想的ではないかもしれません。非常に多くのオブジェクトを割り当て、処理し、破棄するために時間とスペースのコストがかかるそれらの少数を手に入れなさい。

これを回避する方法はありますが、それは簡単ではありません:サブクラス XmlReader。 XMLを読んでいるときにサブクラスでフィルタリングを行い、フィルタリング基準を満たすノードだけを `Read()`メソッドの呼び出し元に返します。

http://msdn.microsoft.com/en-us/library/ms973822.aspx[このMSDNの記事]は、(例えば) `XmlDocument`が.INIファイルをあたかもXMLであるかのように読むことを可能にする` XmlReader`の書き方を説明していますドキュメント この記事で説明されているすべての構文解析の問題に対処する必要はないので、実際にはフィルタリング用の `XmlReader`を書くほうが簡単です。` XmlReader`サブクラスで独自の `XmlReader`をインスタンス化してから戻るそれが読むノード(またはしない)。