-1

我有一个从 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 元素中可能会有所不同。

4

1 回答 1

0

不确定我是否完全理解您的问题,但您可以使用 foreach 循环:

foreach(ClassA a in myXmlClass.classA) {
  Console.WriteLine(a.num1.ToString());
}
于 2012-09-04T23:31:03.080 回答