Я пытаюсь прочитать некоторые данные из XML. Я использую тот же код в другом приложении с почти идентичным XML-макетом, который, кажется, работает .. Но я не могу получить код, который будет запускаться внутри цикла foreach с помощью этого кода:Цикл Foreach не будет читать XML
Кажется, что прочитал XML хорошо, если Если есть точки останова и просмотра _xml.Elements
XElement value in _xml.Elements("effects").Elements("effect")
C#
XElement _xml = XElement.Load("Effects.xml");
{
foreach (XElement value in _xml.Elements("effects").Elements("effect"))
{
//will not execute any code in here.
DVOXML _item = new DVOXML();
_item.Name = value.Element("name").Value;
_item.Param = value.Element("params").Value;
}
}
XML:
<?xml version="1.0" ?>
<effects>
<effect>
<name>effect1</name>
<params>xmldata</params>
</effect>
<effect>
<name>effect2</name>
<params>xmldata</params>
</effect>
</effects>
Просто чтобы проверить - вы уверены, что 'value' содержит XML и загружается, правильно? Вы должны уметь отлаживать его и легко проверять, наведя на него курсор мыши. – Codeman
Я думаю, что ваша проблема может заключаться в том, что вы не смотрите на корень - попробуйте '_xml.Root.Elements (« effect »)' и дайте мне знать, если это сработает. Вероятно, он не выполняет какой-либо код, потому что вы возвращаете 0 элементов из вашего запроса LINQ-XML. – Codeman
@ Значение Phoenixblade9 действительно пусто. И нет метода _xml.Root extention –