У меня есть класс под названием Profile, который имеет несколько простых свойств, а затем он может иметь набор ProfileItem, который снова имеет несколько простых свойств, а затем он может иметь набор ProfileItem (РЕКУРСИЯ).
Теперь я пытаюсь создать очень простую функцию сохранения, используя XML-литералы, поставляемые с VB.NET (3.5).
Я использую следующий код:
Dim xdoc As XDocument = _
<?xml version="1.0" encoding="utf-8"?>
<profiles>
<%= _
From p In _Profiles _
Select <profile name=<%= p.Name %>>
<%= _
From i In p.GetProfileItems _
Select <item>
<name><%= i.Name %></name>
<action><%= i.Action.ToString %></action>
<type><%= i.Type.ToString %></type>
<arguments><%= i.Arguments %></arguments>
<dependencies>
<%= _
From d In i.GetDependencies _
Select <dependency>
<name><%= d.Name %></name>
</dependency> _
%>
</dependencies>
</item> _
%>
</profile> _
%>
</profiles>
Часть, связанная с тегом, должна стать рекурсивной, но я не знаю, поддерживается ли это каким-либо образом этим синтаксисом.
Должен ли я все переписать, избегая использования XML Literal для реализации рекурсии?