В тот момент, когда я думал, что у меня возникли подозрения в Linq To Xml, я столкнулся с еще одной ошибкой! Я думаю, что если бы я лучше разбирался в процессе поиска linq, я мог бы добиться большего успеха, поэтому любые хорошие ссылки по этому поводу также приветствуются. К моей проблеме однако; используя код ниже:
Dim xd As XDocument = _
<?xml version="1.0" encoding="utf-8"?>
<root>
<element>
<subelement id="1"/>
<subelement id="2"/>
<subelement id="3"/>
</element>
<element>
<subelement id="4"/>
<subelement id="1"/>
<subelement id="5"/>
</element>
</root>
Dim results = _
From q In xd.Descendants.<element> _
Where q.<subelement>.@id = 1
For Each xe As XElement In results
Console.WriteLine(xe.ToString)
Next
Я бы ожидал, что приведенный выше код возвратит оба узла 'element', но он возвращает только первый, потому что он ищет только первый узел 'subelement' в пределах 'element', как я могу применить предложение where ко всем ' подэлемент 'узлы?