前田稔(Maeda Minoru)の超初心者のプログラム入門
/*★ XML Save Test 前田 稔 ★*/ #using <System.dll> #using <System.Xml.dll> using namespace System; using namespace System::IO; using namespace System::Text; using namespace System::Xml::Serialization; //XMLファイルに保存するオブジェクトのためのクラス public ref class SampleClass { public: int Number; String^ Message; }; int main() { SampleClass^ cls = gcnew SampleClass(); cls->Number = 123; cls->Message = "テストです。"; //XmlSerializerオブジェクトを作成 //書き込むオブジェクトの型を指定する XmlSerializer^ serializer = gcnew XmlSerializer(SampleClass::typeid); //ファイルを開く FileStream^ fs = gcnew FileStream("c:\\tmp\\config.xml", FileMode::Create); //シリアル化し、XMLファイルに保存する serializer->Serialize(fs, cls); //閉じる fs->Close(); return 0; } |
<?xml version="1.0"?> <SampleClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Number>123</Number> <Message>テストです。</Message> </SampleClass> |
SampleClass^ cls = gcnew SampleClass(); cls->Number = 123; cls->Message = "テストです。"; |
XmlSerializer^ serializer = gcnew XmlSerializer(SampleClass::typeid); FileStream^ fs = gcnew FileStream("c:\\tmp\\config.xml", FileMode::Create); serializer->Serialize(fs, cls); |
/*★ XML Load Test 前田 稔 ★*/ #using <System.dll> #using <System.Xml.dll> using namespace System; using namespace System::IO; using namespace System::Text; using namespace System::Xml::Serialization; //XMLファイルに保存するオブジェクトのためのクラス public ref class SampleClass { public: int Number; String^ Message; }; int main() { //XmlSerializerオブジェクトを作成 XmlSerializer^ serializer = gcnew XmlSerializer(SampleClass::typeid); //ファイルを開く FileStream^ fs = gcnew FileStream("c:\\tmp\\config.xml", FileMode::Open); //XMLファイルから読み込み、逆シリアル化する SampleClass^ obj = (SampleClass^)serializer->Deserialize(fs); fs->Close(); Console::WriteLine(obj->Number + " : " + obj->Message); return 0; } |
XmlSerializer^ serializer = gcnew XmlSerializer(SampleClass::typeid); FileStream^ fs = gcnew FileStream("c:\\tmp\\config.xml", FileMode::Open); SampleClass^ obj = (SampleClass^)serializer->Deserialize(fs); |
Console::WriteLine(obj->Number + " : " + obj->Message); |