我正在寻找像这样的XML结构 -
<Directory id="ID1" Name="N1">
<Directory id="ID2" Name="N2">
<Directory id="ID3" Name="N3">
<Directory id="ID4" Name="N4"/>
</Directory>
</Directory>
</Directory>
我写了一堂课 -
namespace Application1
{
public class Directory
{
[XmlAttribute]
public string Id { get; set; }
[XmlAttribute]
public string Name { get; set; }
[XmlElement("Directory ")]
public Dir[] Directory { get; set; }
}
}
但是这不会以我想要的形式生成XML。
答案 0 :(得分:1)
为您的类声明添加[Serializable]属性:
.
然后使用以下代码:
[Serializable]
public class Directory
{
[XmlAttribute]
public string Id { get; set; }
[XmlAttribute]
public string Name { get; set; }
[XmlElement("Directory")]
public Directory[] Directories { get; set; }
}
注意:如果任何引用周期发生在树的任何级别,序列化将崩溃。