.NETłXmlSerializerNXɂANXz̓eiIuWFNgjXMLt@CƂĕۑA܂邱ƂȒPɏo悤ɂȂĂ܂iVAƌĂ΂̂łjBINIt@C̑ƂāAݒ̕ۑAɂgƎv܂B

̃R[h̗͂ƂSampleClassIuWFNg̔z̓eXMLɕۑit@C'C:\test.xml'jAɕĂ܂B

[VB.NET]
'̃NX錾Ă̂Ƃ
'Public Class SampleClass
'        Public Number As Integer
'        Public Message As String
'End Class

'ۑIuWFNg̔z쐬
Dim myClasses(9) As SampleClass
Dim i As Integer
For i = 0 To 9
    myClasses(i) = New SampleClass()
    myClasses(i).Number = i
    myClasses(i).Message = i.ToString() + "B"
Next

'XMLt@Cɕۑ
Dim serializer1 As New System.Xml.Serialization.XmlSerializer(GetType(SampleClass()))
Dim fs1 As New IO.FileStream("C:\test.xml", IO.FileMode.Create)
serializer1.Serialize(fs1, myClasses)
fs1.Close()

'ۑe𕜌
Dim serializer2 As New System.Xml.Serialization.XmlSerializer(GetType(SampleClass()))
Dim fs2 As New IO.FileStream("C:\test.xml", IO.FileMode.Open)
Dim loadClasses() As SampleClass
loadClasses = serializer2.Deserialize(fs2)
Dim loadClass As SampleClass
For Each loadClass In loadClasses
    Console.WriteLine("String:{0} Integer:{1}", loadClass.Message, loadClass.Number)
Next
fs2.Close()

'C:\test.xml̒ĝ͎悤ɂȂ܂B
'
'<?xml version="1.0"?>
'<ArrayOfSampleClass xmlns:xsd="http://www.w3.org/2001/XMLSchema"
' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
'  <SampleClass>
'    <Number>0</Number>
'    <Message>0B</Message>
'  </SampleClass>
'  <SampleClass>
'    <Number>1</Number>
'    <Message>1B</Message>
'  </SampleClass>
'  <SampleClass>
'
'irȗj
'
'  <SampleClass>
'    <Number>9</Number>
'    <Message>9B</Message>
'  </SampleClass>
'</ArrayOfSampleClass>

[C#]
////̃NX錾Ă̂Ƃ
//public class SampleClass
//{
//    public int Number;
//    public string Message;
//}

//ۑIuWFNg̔z쐬
SampleClass[] myClasses = new SampleClass[10];
for (int i = 0; i < 10; i++)
{
    myClasses[i] = new SampleClass();
    myClasses[i].Number = i;
    myClasses[i].Message = i.ToString() + "B";
}

//XMLt@Cɕۑ
System.Xml.Serialization.XmlSerializer serializer1 =
    new System.Xml.Serialization.XmlSerializer(
        typeof(SampleClass[]));
System.IO.FileStream fs1 =
    new System.IO.FileStream(@"C:\test.xml",
        System.IO.FileMode.Create);
serializer1.Serialize(fs1, myClasses);
fs1.Close();

//ۑe𕜌
System.Xml.Serialization.XmlSerializer serializer2 =
    new System.Xml.Serialization.XmlSerializer(
        typeof(SampleClass[]));
System.IO.FileStream fs2 =
    new System.IO.FileStream(@"C:\test.xml",
        System.IO.FileMode.Open);
SampleClass[] loadClasses;
loadClasses = (SampleClass[]) serializer2.Deserialize(fs2);

//e\
foreach (SampleClass loadClass in loadClasses)
{
    Console.WriteLine("string:{0} int:{1}",
        loadClass.Message, loadClass.Number);
}
fs2.Close();
================================================================================
C#ł́AXML̓ǂݏȒPB // CSVǂݍXMLo
StreamReader st = new StreamReader("../../Test.csv");
string s;
ArrayList	a = new ArrayList();
while ((s = st.ReadLine()) != null)
{
  string[] ss = CSV.GetCSV(s);
  a.Add(new Product(ss));
}
st.Close();

XmlSerializer sr = new XmlSerializer(typeof(Product[]));
TextWriter tw = new StreamWriter("../../Test.xml");
sr.Serialize(tw,(Product[])a.ToArray(Type.GetType("Test.Product")));
tw.Close();
// XMLǂݍ
XmlSerializer sr = new XmlSerializer(typeof(Product[]));
TextReader tr = new StreamReader("../../Test.xml");
Product[] p = (Product[])sr.Deserialize(tr);
tr.Close();
foreach (Product a in p)
  Console.WriteLine(a);

 

