私はC#のSilverlightにロードされている次のXML文書があります。LINQ to XML:Silverlight C#での子供の選択を遅らせますか?
<parent>
<son name="Jim">
<grandson>Billy</grandson>
<granddaughter>Sue</granddaughter>
</son>
<daughter name="Sally">
</daughter>
</parent>
を私は親を照会するようにLINQクエリをしたいと「息子」と「娘」のノードのみの一覧を取得したいです。私が "息子"型のノードに到達したとき、私は自分の子供のために別の質問をしたい。
IEnumerable<XElement> Children =
from childNode in parents.Descendants()
select (XElement)childNode ;
foreach(XElement childNode in Children){
// other code
}
をそれは私にすべてを(息子、娘、孫、孫娘)を与える:
私はこれを試してみました。
私は何をしたいのですが、このようなものです:だから基本的に、私は唯一のクエリで返された子どもたちの最初のレベルをしたい
foreach(XElement childNode in Children){
switch(childNode.Name.ToString()){
case "son":
// look for "grandson" and "granddaughter" as children of "son" now
break;
case "daughter":
// don't look for anything
break;
}
}
、と私は、後に残りを照会します。
元のLINQクエリ、foreach条件、または何で行う必要があるかわかりません。私はXML文書フォーマットを制御できないので、それを何かに変更することはできません。ありがとう!
を、私は、これはサンプルデータでない限り、私はとすべて使用するので、私は、XMLのための異なるタグを使用すると思いますチェーンの途中で。 はの要素か何かでなければならず、 など –
BerggreenDK