私はXDocumentをトラバースするためにC#とLINQを使用しています。XMLを介したLINQ:トップレベルの親を見つける
<Root>
<Element ID="1">
<Element ID="2">
<Element ID="3" />
...
</Element>
<Element ID="50">
...
</Element>
</Element>
<Element ID="x">
...
</Element>
</Root>
今度は、私はID 3を持っているし、そのIDを持つ要素を見つけるために管理しましょう:
は、私はこのようなXMLを考えてみましょう。この時点で、トップレベルの親ノード(ルートの1レベル下にある親ノード)のIDを探したいと思います。 - 私はおそらく必要
myElement.Parent.Parent
しかし、私はそれがあるかもしれないどのように多くのレベルアップを知らない:このインスタンスでは、私はこれを行うことができ、ID 1を持つ要素を見つけたいです再帰。しかし、私は、XDocumentが前方に読み込まれていることを思い出しています。 Parentを再帰的に見つけるのはどれくらいの費用がかかりますか?これを行う最善の方法は何ですか?
私のXMLファイルは最大500kになる可能性があります。
ここにLINQの本があり、XNodeが内部でリンクされたリストを使用しているため、PreviousNodeを呼び出すことができません。私は親も同様に不適格かもしれないと心配しました。 –
右 - いいえ、私はそれが事実だとは思わない。あなたが見る可能性のある最大の文書で試してみてください。 –