2011-01-28 13 views
0

私はXML文書を持っています。私はルートノードの特定の子孫ノードを取得したい。ルートノードには名前空間はありませんが、すべて同じですが、子ノードは行います。この要素を要素として取り出す最良の方法は何ですか?XDocumentの要素を名前で取得する

+0

XPathを使用してXML階層をナビゲートする方法はありますか? – evandrix

答えて

1

ルートノードの名前空間は重要ではありません。あなたが名前のローカル(修飾されていない)部分を指し、あなたがLocalNameことによって、それらを一致させることができ、子供の名前空間を、わからない場合

あなただけ

XNamespace ns = "http://..."; 
var elem = doc.Element(ns + "TagName"); 
0

を書くことができます。

string name = "purchase"; 
var query = xml.Descendants() 
       .Where(e => e.Name.LocalName == name); 

これはIEnumerable<XElement>を返します。そこからループするか、存在すると考えられる場合はSingleOrDefaultを使用します。

関連する問題