-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 に答える