J'ai une classe appelée Profil qui possède quelques propriétés simples, puis il peut avoir une collection de Élément de profil qui possède à nouveau quelques propriétés simples et qui peut avoir une collection de Élément de profil (RECURSION).
J'essaie maintenant de générer une fonction de sauvegarde très simple en utilisant les littéraux XML fournis avec VB.NET (3.5).
Le code que j'utilise est le suivant :
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>
La partie relative à la balise devrait devenir récursive, mais je ne sais pas si cette syntaxe le permet d'une manière ou d'une autre.
Dois-je réécrire tout ce qui évite l'utilisation de XML Literal pour mettre en œuvre la récursivité ?