再帰を使用せずに、指定されたノードから葉まですべての子を取得したいと思います。それは可能ですか?LINQ to XMLでそれを行う方法を知っていますが、XmlNode:Sにいくつかの問題があります
質問する
5320 次
2 に答える
6
SelectNodes
このメソッドは、すべての子孫を選択するXPath式と一緒に使用できます。
XmlNodeList result = myXmlNode.SelectNodes("descendant::node()");
より具体的にフィルタリングする必要があり、名前空間プレフィックスを指定する必要がある場合は、必ず他のオーバーロードを使用してください。
更新:質問では属性を要求されないため、これは非属性ノードのみを選択します。ただし、XPath式を変更することで可能です。
XmlnodeList result = myXmlNode.SelectNodes("descendant::node() | descendant::*/@*");
于 2012-08-02T14:11:29.673 に答える
1
再帰またはXPath式のいずれかを使用できます。
私はXPathがあまり得意ではありませんが、次のようなものです。
var nodes = myDoc.SelectNodes("//*");
(編集:これはうまくいくようです)
于 2012-08-02T14:11:26.997 に答える