2009-03-19 14 views
1

私の質問は簡単です。私はReadStartElementReadEndElementを使用していましたが、XmlReaderというコードで問題ありません。質問は(これはMSDNを見て)、あなたは2つを一致させる必要がありますか?XmlReaderを使用するとReadEndElementとReadStartElementを一致させる

つまり、ReadStartElementごとにReadEndElementで終了するのですか、XMLエンベロープを読むときにコードにReadEndElementコールがあまり必要ない場合がありますか?私はいつも一致していなかったケースがありました。ReadEndElementとxmlの読み方はうまくいきました。

答えて

3

はい、私はあなたがそれらを最も頻繁に一致させる必要があると信じています。これは、ReadStartElementReadEndElementの両方がXmlReaderを次のノードに移動するためです。しかし、彼らはさまざまなことをチェックします。

コードに不要に追加された冗長性は、私が常にXPathNavigatorを使用してXMLをナビゲートすることを好む理由の1つに過ぎません。便利です(LINQと比較しない限り)

+0

+1私はちょうどlinq2sqlとxpathを使用することができます別の質問/答えで学んだ:http://msdn.microsoft。 com/ja-us/library/bb342176.aspx – eglasius

1

私はコードに入れないことをお勧めしません。どの要素が欠けているかに応じて、特定のxml要素の階層に問題が発生する可能性があります。たぶん最後の要素だけかもしれません。

つまり、私は代わりにlinq 2 xmlを使用しているので、これを処理する必要はありません:) XElement.Loadで読み込みを行い、よりクリーンな方法で読み込むことができます。

関連する問題