我需要获取xml节点的值<СуммаВсегоСначалаРасчетногоПериода> 201,201值。
我尝试使用以下代码获取此值:
C#
var attrArr = (_doc.Root.Descendants("Раздел2РасчетПоТарифуДопТарифу")
.Where(i => i.Descendants("КодСтроки").FirstOrDefault().Value == "201")
.Select(i => i.Descendants("СуммаВсегоСначалаРасчетногоПериода").FirstOrDefault().Value))
.FirstOrDefault();
但我只得到第一个值(201)。
如果我输入i => i.Descendants("КодСтроки").FirstOrDefault().Value == "202"
,则值= 0
XML
<Раздел2РасчетПоТарифуДопТарифу>
<Раздел2_1_РасчетСВпоТарифу>
<КодТарифа>03</КодТарифа>
<НаОбязательноеПенсионноеСтрахование>
<ВыплатыИвознаграждения_1966старше>
<КодСтроки>201</КодСтроки>
<РасчетСумм>
<СуммаВсегоСначалаРасчетногоПериода>201</СуммаВсегоСначалаРасчетногоПериода>
<СуммаПоследние1месяц>0.00</СуммаПоследние1месяц>
<СуммаПоследние2месяц>0.00</СуммаПоследние2месяц>
<СуммаПоследние3месяц>0.00</СуммаПоследние3месяц>
</РасчетСумм>
</ВыплатыИвознаграждения_1966старше>
<ВыплатыИвознаграждения_1967моложе>
<КодСтроки>202</КодСтроки>
<РасчетСумм>
<СуммаВсегоСначалаРасчетногоПериода>202</СуммаВсегоСначалаРасчетногоПериода>
<СуммаПоследние1месяц>0.00</СуммаПоследние1месяц>
<СуммаПоследние2месяц>0.00</СуммаПоследние2месяц>
<СуммаПоследние3месяц>0.00</СуммаПоследние3месяц>
</РасчетСумм>
</ВыплатыИвознаграждения_1967моложе>
<ВыплатыИвознаграждения_ВременноИГ>
<КодСтроки>203</КодСтроки>
<РасчетСумм>
<СуммаВсегоСначалаРасчетногоПериода>203</СуммаВсегоСначалаРасчетногоПериода>
<СуммаПоследние1месяц>0.00</СуммаПоследние1месяц>
<СуммаПоследние2месяц>0.00</СуммаПоследние2месяц>
<СуммаПоследние3месяц>0.00</СуммаПоследние3месяц>
</РасчетСумм>
我需要取值201,202和203
答案 0 :(得分:0)
尝试:
var attrArr = (_doc.Root.Descendants("Раздел2РасчетПоТарифуДопТарифу")
.Where(i => i.Descendants("КодСтроки").FirstOrDefault(x => x.Value == "202"))
.Select(i => i.Descendants("СуммаВсегоСначалаРасчетногоПериода").FirstOrDefault().Value)).FirstOrDefault();
答案 1 :(得分:0)
尝试这个,它将返回201,202和203
string str = ....
var x = XElement.Parse(str);
var result = x.Descendants("СуммаВсегоСначалаРасчетногоПериода")
.Select(xx => xx.Value)
.ToArray();
答案 2 :(得分:0)
您可以使用以下代码
var xyz = (from item in _doc.Elements("РасчетСумм")
select item.Element("СуммаВсегоСначалаРасчетногоПериода").Value).ToList();
它将从节点中选择值СуммаВсегоСначалаРасчетногоПериода并将其放入列表中