前田稔(Maeda Minoru)の超初心者のプログラム入門
![]()
![]()
/************************************************/
/*★ @"C:\test\seiseki.xml" を作成 前田 稔 ★*/
/************************************************/
using System;
using System.Xml.Serialization;
public class MyForm
{
[XmlRoot("成績管理")]
public class SeisekiClass
{
[System.Xml.Serialization.XmlElement("成績表")]
public SeisekiData[] array;
}
[XmlRoot("成績表")]
public class SeisekiData
{
[XmlElement("番号")]
public int Number;
[XmlElement("姓名")]
public NameCls Name;
[XmlElement("科目")]
public KamokuCls Kamoku;
//Constructor
public SeisekiData()
{
}
public SeisekiData(int num, string sei, string mei, int ten1, int ten2, int ten3)
{
Name = new NameCls();
Kamoku = new KamokuCls();
Number = num;
Name.Sei = sei;
Name.Mei = mei;
Kamoku.Ten1 = ten1;
Kamoku.Ten2 = ten2;
Kamoku.Ten3 = ten3;
}
}
public class NameCls
{
[XmlElement("姓")]
public string Sei;
[XmlElement("名")]
public string Mei;
}
public class KamokuCls
{
[XmlElement("数学")]
public int Ten1;
[XmlElement("英語")]
public int Ten2;
[XmlElement("C言語")]
public int Ten3;
}
static int[] num = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
static string[] sei = { "愛知", "青森", "秋田", "石川", "茨城",
"岩手", "愛媛", "大分", "大阪", "岡山" };
static string[] mei = { "真唯子", "孝雄", "景子", "雅夫", "優子",
"あゆみ", "和子", "慎吾", "恵", "英子" };
static int[] ten1 = { 100, 0, 10, 20, 30, 40, 50, 60, 70, 80 };
static int[] ten2 = { 100, 0, 10, 20, 30, 40, 50, 60, 70, 80 };
static int[] ten3 = { 100, 0, 10, 20, 30, 40, 50, 60, 70, 80 };
public static void Main()
{
SeisekiClass target = new SeisekiClass();
target.array = new SeisekiData[10];
SeisekiData tmp;
for(int i = 0; i < 10; i++)
{
tmp = new SeisekiData(num[i],sei[i],mei[i],ten1[i],ten2[i],ten3[i]);
target.array[i] = tmp;
}
//XMLファイルに保存する
System.Xml.Serialization.XmlSerializer serializer1 =
new System.Xml.Serialization.XmlSerializer(typeof(SeisekiClass));
System.IO.FileStream fs1 =
new System.IO.FileStream(@"C:\test\seiseki.xml", System.IO.FileMode.Create);
serializer1.Serialize(fs1, target);
fs1.Close();
}
}
|
[XmlRoot("成績管理")]
public class SeisekiClass
{
[System.Xml.Serialization.XmlElement("成績表")]
public SeisekiData[] array;
}
|
[XmlRoot("成績表")]
public class SeisekiData
{
[XmlElement("番号")]
public int Number;
[XmlElement("姓名")]
public NameCls Name;
[XmlElement("科目")]
public KamokuCls Kamoku;
//Constructor
public SeisekiData()
{
}
public SeisekiData(int num, string sei, string mei, int ten1, int ten2, int ten3)
{
・・・
}
}
|
public class NameCls
{
[XmlElement("姓")]
public string Sei;
[XmlElement("名")]
public string Mei;
}
|
public class KamokuCls
{
[XmlElement("数学")]
public int Ten1;
[XmlElement("英語")]
public int Ten2;
[XmlElement("C言語")]
public int Ten3;
}
|
static int[] num = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
static string[] sei = { "愛知", "青森", "秋田", "石川", "茨城",
"岩手", "愛媛", "大分", "大阪", "岡山" };
static string[] mei = { "真唯子", "孝雄", "景子", "雅夫", "優子",
"あゆみ", "和子", "慎吾", "恵", "英子" };
static int[] ten1 = { 100, 0, 10, 20, 30, 40, 50, 60, 70, 80 };
static int[] ten2 = { 100, 0, 10, 20, 30, 40, 50, 60, 70, 80 };
static int[] ten3 = { 100, 0, 10, 20, 30, 40, 50, 60, 70, 80 };
|
SeisekiClass target = new SeisekiClass();
target.array = new SeisekiData[10];
SeisekiData tmp;
for(int i = 0; i < 10; i++)
{
tmp = new SeisekiData(num[i],sei[i],mei[i],ten1[i],ten2[i],ten3[i]);
target.array[i] = tmp;
}
|
//XMLファイルに保存する
System.Xml.Serialization.XmlSerializer serializer1 =
new System.Xml.Serialization.XmlSerializer(typeof(SeisekiClass));
System.IO.FileStream fs1 =
new System.IO.FileStream(@"C:\test\seiseki.xml", System.IO.FileMode.Create);
serializer1.Serialize(fs1, target);
fs1.Close();
|
[XmlRoot("成績表")]
public class SeisekiData
{
[XmlElement("番号")]
public int Number;
[XmlElement("姓名")]
public NameCls Name = new NameCls();
[XmlElement("科目")]
public KamokuCls Kamoku = new KamokuCls();
・・・
|
![]()
/**********************************************/
/*★ XML から姓名とC言語を表示 前田 稔 ★*/
/**********************************************/
using System;
using System.Xml.Serialization;
public class MyForm
{
[XmlRoot("成績管理")]
public class SeisekiClass
{
[System.Xml.Serialization.XmlElement("成績表")]
public SeisekiData[] array = new SeisekiData[10];
}
[XmlRoot("成績表")]
public class SeisekiData
{
[XmlElement("姓名")]
public NameCls Name;
[XmlElement("科目")]
public KamokuCls Kamoku;
}
public class NameCls
{
[XmlElement("姓")]
public string Sei;
[XmlElement("名")]
public string Mei;
}
public class KamokuCls
{
[XmlElement("C言語")]
public int Ten3;
}
public static void Main()
{
//保存した内容を復元する
System.Xml.Serialization.XmlSerializer serializer2 =
new System.Xml.Serialization.XmlSerializer(typeof(SeisekiClass));
System.IO.FileStream fs =
new System.IO.FileStream(@"C:\test\seiseki.xml", System.IO.FileMode.Open);
SeisekiClass loadcls;
loadcls = (SeisekiClass) serializer2.Deserialize(fs);
fs.Close();
//復元した内容を表示する
foreach(SeisekiData obj in loadcls.array)
{ Console.WriteLine(obj.Name.Sei + obj.Name.Mei + obj.Kamoku.Ten3); }
}
}
|
[XmlRoot("成績管理")]
public class SeisekiClass
{
[System.Xml.Serialization.XmlElement("成績表")]
public SeisekiData[] array = new SeisekiData[10];
}
[XmlRoot("成績表")]
public class SeisekiData
{
[XmlElement("姓名")]
public NameCls Name;
[XmlElement("科目")]
public KamokuCls Kamoku;
}
public class NameCls
{
[XmlElement("姓")]
public string Sei;
[XmlElement("名")]
public string Mei;
}
public class KamokuCls
{
[XmlElement("C言語")]
public int Ten3;
}
|
//保存した内容を復元する
System.Xml.Serialization.XmlSerializer serializer2 =
new System.Xml.Serialization.XmlSerializer(typeof(SeisekiClass));
System.IO.FileStream fs =
new System.IO.FileStream(@"C:\test\seiseki.xml", System.IO.FileMode.Open);
SeisekiClass loadcls;
loadcls = (SeisekiClass) serializer2.Deserialize(fs);
fs.Close();
|
//復元した内容を表示する
foreach(SeisekiData obj in loadcls.array)
{ Console.WriteLine(obj.Name.Sei + obj.Name.Mei + obj.Kamoku.Ten3); }
|
![]()