我有一个来自xml的自动生成的类,如下所示:
public partial class XmlClass {
private decimal num1;
private ClassA[] classField;
/// <remarks/>
public decimal num1 {
get;
set;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("classA")]
public ClassA[] classA {
get{...};
set{...};
}
}
public partial class ClassA {
private object[] itemsField;
private string typeField;
[System.Xml.Serialization.XmlElementAttribute("commands", typeof(classACommands))]
[System.Xml.Serialization.XmlElementAttribute("minVersion", typeof(string))]
public object[] Items {
get {
return this.itemsField;
}
set {
this.itemsField = value;
}
}
[System.Xml.Serialization.XmlAttributeAttribute()]
public string type {
get {
return this.typeField;
}
set {
this.typeField = value;
}
}
}
ClassA在Object[]
中将字符串和命令类作为对象。我可以看到所有内容都被完美地反序列化并通过它来获取它们:(commands)myXmlClass.classA.ElementAt(i).Items[3]
,其中i
来自ClassA数组的索引。但是如何在不使用'3'的情况下获取或设置它们?它可能在不同的ClassA元素中有所不同。
答案 0 :(得分:0)
不确定我完全理解你的问题,但你可以使用foreach循环:
foreach(ClassA a in myXmlClass.classA) {
Console.WriteLine(a.num1.ToString());
}