【发布时间】:2016-08-15 19:45:39
【问题描述】:
我有一个这样的 xml 文档
<?xml version="1.0"?>
<data>
<myassembly name="t1" folder="1">
<myassembly name="t1.1" folder="0" />
<myassembly name="t1.2" folder="0">
<myassembly name="t1.2.1" folder="0"/>
</myassembly>
<myassembly name="t2" folder="0"/>
<myassembly name="t3" folder="0">
<myassembly name="t3.1" folder="0"/>
<myassembly name="t3.2" folder="0"/>
</myassembly>
</myassembly>
</data>
还有两个类来读取xml数据:
class data{
[XmlElement("myassembly")]
MyAssembly myassembly;
}
class MyAssembly{
[XmlAttribute("name")]
string name;
[XmlAttribute("folder")]
string folder;
[XmlArrayItem("myassembly")]
MyAssembly[] myassembly;
}
我想要这个数组列表结构:
data:
assembly:
-name: t1
-folder: 1
-myassembly[4]:
[0]-name: t1.1
[0]-folder: 0
[0]-myassembly: null
[1]-name: t1.2
[1]-folder: 0
[1]-myassembly: [4]
[0]-name: t1.2.1
[0]-folder: 0
[0]-myassembly: null
[2]-name: t2
[2]-folder: 0
[2]-myassembly: null
[3]-name: t3
[3]-folder: 0
[3]-myassembly: [2]
[0]-name: t3.1
[0]-folder: 0
[0]-myassembly: null
[1]-name: t3.2
[1]-folder: 0
[1]-myassembly: null
但是:用我的属性,我不能得到这个数组列表。 我希望,我已经充分描述了它。
注意 升职人员
【问题讨论】:
-
对不起,c#,我已经更新了这个问题。
-
一些显示您尝试过但不起作用的代码将大有帮助。
-
我已经用一些
Xml-Attributes尝试过这个 -
对,从您提供的课程中可以看出这一点。您没有的是用于打开和反序列化 xml 文档的代码,即使用这些类的代码。
-
在下面的帖子中查看递归代码。我已多次推荐此代码:stackoverflow.com/questions/28976601/…
标签: c# xml serialization