我有一个名为Profile的类,它具有一些简单的属性,然后它可以具有ProfileItem的集合,该集合再次具有一些简单的属性,然后它可以具有ProfileItem的集合(RECURSION)。
现在我正在尝试使用 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 Literal 来实现递归吗?