1
私はすべてのフープ属性を取得しようとしていますが、最初の値を取得するだけです(この例ではリストボックスに24と4を追加しています)。すべての結果をリストに追加する方法はありますか?私は通常、ToList()を使用しますが、この瞬間には機能しませんでした。目的は、ホームと離れて別のものにフープを取得し、それをオブジェクトに格納することでした。複数のlet linqをxmlに取得する方法#
XML:
<League>
<Round>
<Match>
<Team Side="Home" >
<Hoop qtr="1st" player-name="Joe" time-scored="24" />
<Hoop qtr="1st" player-name="Jack" time-scored="54" />
</Team>
<Team Side="Away">
<Hoop qtr="1st" player-name="James" time-scored="4" />
<Hoop qtr="1st" player-name="Brown" time-scored="34" />
</Team>
</Match>
</Round>
</League>
のC#:
XDocument xDoc = XDocument.Load("test.xml");
var query = from q in xDoc.Descendants("Team")
where (string)q.Attribute("Side") == "Home"
let d = q.Element("Hoop")
select new
{
Period = d.Attribute("qtr").Value,
Name = d.Attribute("player-name").Value,
Time = d.Attribute("time-scored").Value
};
foreach (var qq in query)
{
listBox.Items.Add(qq.Time);
}
には、 "それは動作しませんでした" *はるか*あまりにも漠然としている - 何が起こったのか? (私の推測では、XMLに 'time-scored'値がないので失敗しましたが、実際にはそれを明確にする必要があります。あるいは、' side'という属性を探しているので失敗しました。 ')また、コードとXMLの両方を適切にインデントするようにしてください。読みやすさに大きな違いがあります。 –
スペルとキャピタル化は非常に重要です。それらのすべてが一致することを確認してください。次に、そこにないものを探すことは、失敗を引き起こす可能性があります。それらのものが一致することを確認します。最後に、問題が、あなたが2を期待している場所に1レコードを取得しているということであれば、それはまったく異なる種類の失敗です。 – Nevyn
ありがとうございました。それは現在、ホームチームとアウェーチームの最初のフープタイムを表示しているだけでは失敗しなかった。私はすべてのフープ時間を動的に受け取っています。ホームチームに7フープの要素があれば、7フープの時間をリストボックスに追加します – Decoder94