XMLから読み込んでその情報をリストに入れるコードを書いています。 情報:XMLからサブクエリリストを取得するC#
- 従業員名
- 彼はすでに、彼が上で動作する必要が
- ヶ月を終えヶ月。
これらはすべてXMLファイルに存在します。
私はこのコードを書いた:
List<MonthlyInformation> result =
doc.Root.Elements().Descendants(nsXml + "MitarbeiterGroup")
.Select(x => new MonthlyInformation
{
Firstname = (string)x.Attribute("Group9"),
FinishedMonths = x.Descendants("Monat3").Select(s => new FinishedMonth {MonthName = (string)s.Attribute("Monat3"), Money = (string)s.Element("Cell").Attribute("Textbox142") }).ToList(),
ForecastMonths = x.Descendants("Monat9").Select(s => new ForecastMonth { MonthName = (string)s.Attribute("Monat9"), Money = (string)s.Element("Cell").Attribute("Textbox143") }).ToList()
}).ToList();
コードが正常に動作しますが、常に空であるデータメンバーFinishedMonthsとForecastMonths両方。ここ
ので、私はすべての従業員のために「Monat3」のすべての月を取得する必要があり、「Monat9」内のすべての予測ヶXML
<MitarbeiterGroup Group9="Name....">
<Textbox111>
<UmsatzInternGroup_Collection>
<UmsatzInternGroup>
<Monat3 Monat3="Jan.">
<Cell Textbox142="11325" />
</Monat3>
</UmsatzInternGroup>
<UmsatzInternGroup>
<Monat3 Monat3="Feb.">
<Cell Textbox142="12345" />
</Monat3>
</UmsatzInternGroup>
</UmsatzInternGroup_Collection>
<ForecastExternGroup_Collection>
<ForecastExternGroup>
<Monat9 Monat9="Sep.">
<Cell Textbox143="17130" />
</Monat9>
</ForecastExternGroup>
<ForecastExternGroup>
<Monat9 Monat9="Okt.">
<Cell Textbox143="18000" />
</Monat9>
</ForecastExternGroup>
</ForecastExternGroup_Collection>
</Textbox111>
</MitarbeiterGroup>
の一部です。
あなたはしかし doc.Root.Elements()
にこのライン doc.Root.Elements().Descendants(nsXml + "MitarbeiterGroup")
を変え、できるだけ早く
のようになります。もう一つ注意すべきは、Monat3のためにあなたが属性Textbox143を使用していて、Monat9のためにあなたもTextbox143を使用していることです。Monat3属性は実際にTextbox142です。 –
正解私は間違ってコピーしますが、それでも動作しません。 –
xDescendants( "Monat3")に名前空間を追加します。 – jdweng