[英]how take data from xml using linq to xml
我需要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
嘗試:
var attrArr = (_doc.Root.Descendants("Раздел2РасчетПоТарифуДопТарифу")
.Where(i => i.Descendants("КодСтроки").FirstOrDefault(x => x.Value == "202"))
.Select(i => i.Descendants("СуммаВсегоСначалаРасчетногоПериода").FirstOrDefault().Value)).FirstOrDefault();
試試這個,它將返回201、202和203
string str = ....
var x = XElement.Parse(str);
var result = x.Descendants("СуммаВсегоСначалаРасчетногоПериода")
.Select(xx => xx.Value)
.ToArray();
您可以使用以下代碼
var xyz = (from item in _doc.Elements("РасчетСумм")
select item.Element("СуммаВсегоСначалаРасчетногоПериода").Value).ToList();
它將從節點СуммаВсегоСначалаРасчетногоПериода中選擇值並將其放在列表中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.