2017-01-24 5 views
0

мне нужно сравнить XElement с строки внутри Еогеасп, но не работает по какой-то причине ...C# Linq Сравнить XElement шпагатом

вот мой C# код

string ID = test; 
XDocument xmlFile = XDocument.Load(_file); 
var query = from c in xmlFile.Elements("Root").Elements("user") select c; 
int i = 0; 
foreach (XElement utilizador in query) 
{ 
    if (i == 0 && utilizador.Attribute("done").Value != "0" && 
          utilizador.DescendantNodes().ToString().Contains(id)) 
    { 
     utilizador.Attribute("done").Value = "0"; 
     i++; 
    } 
} 
xmlFile.Save(_file); 

по какой-то причине я не знаю utilizador.DescendantNodes().ToString().Contains(id) не работает для меня Спасибо.

+2

«* но не работает по какой-то причине *» вы можете добавить некоторые подробности о том, что именно не работает, то, что вы получите исключение или что ожидаемое поведение будет быть. [Mcve] также будет приятным. –

+0

Каково исключение? – MMK

+0

fancy a read: https://msdn.microsoft.com/en-us/library/system.xml.linq.xcontainer.descendantnodes(v=vs.110).aspx – MMK

ответ

1

Используйте вместо этого:

utilizador.DescendantNodes().Any(x=>x.Value.Contains(id)) 
+0

Большое спасибо –

Смежные вопросы