У меня есть файл XML следующим образом: -таргетинга XML узла, чтобы изменить значение
<Root>
<Player>
<name>Name</name>
<surname>Surname</surname>
<rating>10</rating>
</Player>
<Player>
<name>Name1</name>
<surname>Surname1</surname>
<rating>20</rating>
</Player>
</Root>
Теперь я хочу, чтобы предназначаться один из этих узлов, так что я могу сделать некоторые изменения к нему.
У меня есть следующий код: -
XElement playerXML =
doc.Root.Elements("Player").FirstOrDefault(x => x.Element("name").ToString() == playerInput.name
&& x.Element("surname").ToString() == playerInput.surname
&& Convert.ToInt32(x.Element("rating")) == playerInput.rating);
if (playerXML != null)
{
//do processing
}
Однако я ничего не получаю обратно, даже если имя, фамилия и рейтинг в файле.
Что я делаю неправильно?
Спасибо за вашу помощь
Не может быть проблемой, но есть ли у вас какие-либо причины использовать 'ToString()' вместо 'Value' или [casting] (http://msdn.microsoft.com/en-us/ library/bb348319.aspx) (например, '(int) (x.Element (" rating ")))? –