さて、私はこの質問に対する答えを持っているように見えましたが、私は間違っていました。間違ったことを聞いたせいかもしれません。これが私がやりたいことです:私はxmlドキュメントを取り、それをメモリにプルしたいと思います。次に、自由に、そのドキュメントに対してクエリを実行し、そこから情報を取得したいと思います。ドキュメントをメモリに再度ロードせずにデータが必要なときはいつでもこれを実行したいと思います。結局のところ、重要なのは、データが必要になったときにディスクにぶつかるのをやめることです。私が使用してきた方法は1回しか機能せず、これを複数回実行する必要があります。これが私が試したコードです:
public static class GrabFile
{
public static XDocument configData = XDocument.Load(@"myxml.xml");
public static XmlReader templateReader = configData.CreateReader();
}
これでドキュメントがメモリにコピーされると思いました。これを使用すると、templateReaderを使用していつでもconfigDataをクエリできます。
while (GrabFile.templateReader.Reader())
{
//get the data I wanted
}
私はそれをwhileステートメントに入れて、メソッドで特定のクエリを実行する他のステートメントを作成し、情報が必要なときにいつでもそれらを呼び出すことができると思いました。しかし、それは一度だけ機能します。
私が言ったように、私はこれにあまり精通していないので、おそらくそれを簡単に行う方法があります。
また、他のスレッドの人々は、xmlドキュメントにあるものの例を望んでいました。それは関係ありません。重要なのは、ドキュメントをメモリに入れて、ディスクからアクセスして別のリーダーを作成せずに、必要な回数だけクエリを実行したいということです。はい、これにはリーダーを使用したいと思います。
おそらく、メモリ内のファイル内のポインタを先頭に戻して、再度読み取る必要がありますか?
助けてくれてありがとう。