Идея состояла в том, чтобы просто выбрать X узлов из пула Y, и приведенный здесь пример упрощен, чтобы показать вам проблему. В общем, у меня многоуровневый xml, который мне нужно было выровнять, чтобы иметь только один подуровень (он же root + level1), но из источника мне нужны только определенные элементы, которые меня интересуют.
Во всяком случае, проблема решена, потому что я сделал это с foreach, потому что я обнаружил, что если у вас есть XML-файл, указанный в xml, но не доступный, LINQ не хочет работать в любом случае.
решение было таким:
Я сделал функцию:
public System.Xml.XmlElement GetSubElement(XmlElement Parent, string element)
{
System.Xml.XmlElement ret = null;
if (Parent == null)
return ret;
XmlNodeList ContentNodes = Parent.GetElementsByTagName(element);
if (ContentNodes.Count > 0)
{
XmlNode node = ContentNodes.Item(0);
ret = (XmlElement)node;
}
return ret;
}
Я сделал цикл foreach в области, которая повторялась
Я получил элементы, которые вышли из повторяющегося контекста с помощью вышеуказанной функции.
В любом случае, это решило это для меня.
Edit:
Не знаю, как заставить этот код отображаться правильно, потому что Ctrl + K делает это, похоже, делает это