Чтобы конкретизировать некоторые другие ответы:
В VB.NET вы можете использовать операторы XML-оси для упрощения синтаксиса метода. Например, <root>..<child>
- это то же самое, что XElement («root»). Elements («child»). В этом случае ребенок должен находиться прямо под корнем. Если вы хотите найти узлы независимо от того, где они существуют в дочерних узлах, вы можете использовать .Descendents
вместо .Elements
или синтаксис VB с тремя точками следующим образом: <root>...<descendentNodeName>
. Если вы хотите получить доступ к атрибуту, используйте .@
следующим образом: <root>.@attributeName
.
Из ответа Мерфа вы можете переписать его в VB следующим образом:
Fields = (From f In report.<field> _
Select Name = f.@name, Type = f.@type).ToArray()
Это также можно записать с использованием синтаксиса лямбда следующим образом:
Fields = report.<field> _
.Select(Function(f) New With { _
Name = f.@name, Type = f.@type).ToArray()