2012-03-04 10 views
0

このXMLファイルを解析して要素リストを取得しようとしていますが、これを行うのが難しいです。ここでレイヤード要素Linq

は私のXMLファイルです:

<STORES> 
    <Stores1> 
    <TEST> 
    <ClientID>200</ClientID> 
    <FormTypeID>101</FormTypeID> 
    </TEST> 
    <PROD> 
    <ClientID>200</ClientID> 
    <FormTypeID>102</FormTypeID> 
    </PROD> 
    </Stores1> 
    <Stores2> 
    <TEST> 
    <ClientID>201</ClientID> 
    <FormTypeID>717</FormTypeID> 
    </TEST> 
    <PROD> 
    <ClientID>201</ClientID> 
    <FormTypeID>719</FormTypeID> 
    </PROD> 
    </Stores2> 
</STORES> 

私が達成しようとしている私は要素のメソッド呼び出しのためのquerys XNamesパラメータを養うものに応じてバックの子要素のすべてを引き出しています。そう

var elements = (from x in xDoc.Elements("Stores1") 
         where x.Name.LocalName == "TEST" 
         select x).ToList(); 

ようなので、リストには次のようにStores1のためのTESTのすべての要素が含まれます:

<ClientID>200</ClientID> 
<FormTypeID>101</FormTypeID> 

私は何も現時点では返されません取得します。私は間違って何をしていますか?

答えて

2

xDoc.Elements("Stores1")Stores1という名前の文書の直接の子要素のすべてを返します。

あなたはxDoc.Element("STORES").Element("Stores1").Elements("TEST").Elements()をしたいです。 LINQは必要ありません

関連する問題