У меня есть XML, подобный следующему
<trade>
<currentBalance>000000100</currentBalance>
<account>
<type>US</type>
</account>
<remark>
<code>CBG</code>
<type>somestring3</type>
</remark>
</trade>
<trade>
<currentBalance>000000200</currentBalance>
<remark>
<code>CBG</code>
<type>somestring2</type>
</remark>
<account>
<type>CA</type>
</account>
</trade>
<trade>
<currentBalance>000000300</currentBalance>
<remark>
<code>CBG</code>
<type>somestring1</type>
</remark>
<account>
<type>US</type>
</account>
</trade>
Я хотел бы выбрать все текущие балансы, для которых тип учетной записи - «США». Сначала я столкнулся с проблемами, поскольку существует два тега «type»,но я смог приблизиться к получению правильного запроса, выполнив следующие действия:
query = document.Descendants().Where(q => q.Name.LocalName == "trade")
.Descendants().Where(r => r.Name.LocalName == "account")
.Descendants().Where(s => s.Name.LocalName == "type")
.Where(t => t.Value == "US").Select(q => q.Parent.Parent).ToList();
. Теперь у меня есть список из двух из трех сделок, на которые я нацелился, но как мне поступить на самом деле?просто получаю что-то, чтобы вернуть 000000100, 000000300