Счетчик в разметке в литерале 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>