我有一个名为Profile的类,它有一些简单的属性,然后它可以有一个ProfileItem集合,其中再次具有一些简单的属性,然后它可以有一个ProfileItem集合(递归)。
现在我正在尝试使用VB.NET(3.5)附带的XML Literals生成非常简单的保存函数。
我正在使用以下代码:
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文字来实现递归?