0

xmlファイルを検索し、データセットを見つけ、2番目のxmlファイルを調べ、関連するデータがあるかどうかを確認してから、次のデータセットに移動する必要があります。

説明のためのサンプルコードを次に示します。

XmlReader XmlDoc1 = XmlReader.Create("~/data/xml/myxml1.xml",settings);
XmlReader XmlDoc2= XmlReader.Create("~/data/xml/myxml2.xml",settings);

using (XmlDoc1) {
    XmlDoc1.Open();
    //get a data node
    using(XmlDoc2){
        XmlDoc2.Open();
        //find related information... if it's there
        XmlDoc2.Close();
   }
   //do stuff
   XmlDoc1.Close();
}

上記のコードでエラーが発生することは間違いありませんが、XmlDoc1を読み取り、データセットを取得して閉じ、XmlDoc2を検索して閉じ、洗浄、すすぎ、繰り返しを行うには時間がかかりすぎます。だから、私は上記を達成するための迅速な方法を探しています。

質問する前に、このサイトでDBを実行することはできないため、XMLで十分です。

4

1 に答える 1

1

2つのリーダーを同時に開くのに問題はありません。ただし、(ブロックXmlDoc2を介して)廃棄した後は再利用できません。using

XmlReaderは順方向のみであるため、基本的にXmlDoc2は各反復で実行されます。

速度が気になる場合はXmlDoc1XmlReader(上から下に1回実行しているときに)を試して、内部xmlに提案されたクラスXmlDocumentまたはクラスの1つを使用することができます。XDocument

于 2012-11-21T20:13:47.773 に答える