Счетчик в разметке в литерале vb xml

У меня есть массив строк, например, так:
[0] ааа
[1] BBB
[2] ccc

Теперь мне нужно создать XML так:

<parent>
    <child_1>aaa</child_1>
    <child_2>bbb</child_2>
    <child_3>ccc</child_3>
</parent>

Теперь я знаю, в VB я могу сделать:

Dim myXML As XElement = <parent>
                           <%= For c In arrayOfChildren
                               Select <child><%= c %></child>
                        </parent>

Проблема в том, как получить этот противный счетчик?
Чтобы уточнить: у меня нет выбора над языком программирования, должен быть VB. У меня также нет выбора по структуре XML, это часть спецификации, которую мы получили от внешней компании.

Любая помощь приветствуется, спасибо:)

1 ответ

Решение

Хотя функция используется реже, вы можете указать имя элемента в виде встроенного выражения, а не литерала. Кроме того, вам нужно будет перейти на синтаксис метода, чтобы получить перегрузку Select это дает вам индекс предмета вместе с предметом.

Dim myXML = <parent>
                <%= children.Select(
                    Function(c, i)
                        Return <<%= "child_" & (i + 1).ToString() %>>
                                    <%= c %>
                                </>
                    End Function) %>
            </parent>
Другие вопросы по тегам