У меня читается файл XML. Я пытаюсь проверить, есть ли Product.Id в файле XML. Проблема: он считывает только первые XML значения продукта.
У меня есть следующий if-оператор:
if ((int)user.ElementAt(0).Element("Product").Element("Id") == product.Id)
{
// Do some logic
}
Выбор пользователя выглядит так:
var user = from item in doc.Descendants("User")
where (string)item.Element("Username") == username
select item.Element("UserProducts");
Результат выбора: XML:
<UserProducts>
<Product>
<Id>1</Id>
<Name>Mouse</Name>
<Amount>2</Amount>
</Product>
<Product>
<Id>2</Id>
<Name>Keyboard</Name>
<Amount>1</Amount>
</Product>
</UserProducts>
Оператор if проверяет только первую запись продукта (ID 1, Name Mouse, Amount 2). Он не проверяет вторую запись.
Почему он не проверяет вторую запись и как это исправить, чтобы он проверял все записи?
Ожидаемый результат: оператор if, который проверяет все товарные записи, а не только первая запись.