インデックスがEnum
の値にマップされた配列があります。私はこの配列をシリアル化するために、C#のXmlシリアル化ライブラリを使用したいと思います。しかし、私は各XMLノードがそれを表すEnum型の名前を言うことを望みます。これどうやってするの?名前配列内の各要素
例:
<NumEmployees>
<int>3</int>
<int>2</int>
<int>1</int>
</NumEmployees>
しかし、私がしたいことは次のとおりです:
<NumEmployees>
<Lawyer>3</Lawyer>
<Doctor>2</Doctor>
<Engineer>1</Engineer>
</NumEmployees>
私は、各番号を保存することはできません
public class NumberOfEmployees
{
public enum EmployeeType { Lawyer, Doctor, Engineer };
public int[] NumEmployees { get; set; }
// Constructor initializes array to size of "EmployeeType"
public NumberOfEmployees()
{
int size = Enum.GetValues(typeof(EmployeeType)).Length;
this.NumEmployees = new int[size];
}
}
Main()
{
NumberOfEmployees numEmployees = new NumberOfEmployees();
// Add doctors, lawyers, engineers, etc...
// numEmployees.NumEmployees[(int)NumberOfEmployees.Lawyer] = 3;
// numEmployees.NumEmployees[(int)NumberOfEmployees.Doctor] = 2;
// numEmployees.NumEmployees[(int)NumberOfEmployees.Engineer] = 1;
// Serialize to "file"
FileStream fs = new FileStream(file, FileMode.OpenOrCreate);
XmlSerializer xml = new XmlSerializer(typeof(NumberOfEmployees));
xml.Serialize(fs, numEmployees);
fs.Close();
}
最終的な結果は次のようになりますxmlです個別に - 配列でなければなりません。
ありがとうございました。
あまりにも悪いあなたの列挙型は、[医師、弁護士、ルーテル]ではありません(http://www.last.fm/music/John% 20Williams/_/Doctor、%20Lawyer、%20Lutheran):-) – svick