このドキュメントはアーカイブされており、メンテナンスされていません。

XmlSerializer.Serialize メソッド (Stream, Object)

指定した Object をシリアル化し、生成された XML ドキュメントを、指定した Stream を使用してファイルに書き込みます。

名前空間: System.Xml.Serialization
アセンブリ: System.Xml (system.xml.dll 内)

public void Serialize (
	Stream stream,
	Object o
)
public void Serialize (
	Stream stream, 
	Object o
)
public function Serialize (
	stream : Stream, 
	o : Object
)

パラメータ

stream

XML ドキュメントを書き込むために使用する Stream

o

シリアル化する Object

例外の種類条件

InvalidOperationException

シリアル化中にエラーが発生しました。元の例外には、InnerException プロパティを使用してアクセスできます。

Serialize メソッドは、オブジェクトのパブリック フィールドおよびパブリックな読み書き可能プロパティを XML に変換します。メソッド、インデクサ、プライベート フィールド、または読み取り専用プロパティは変換されません。オブジェクトのパブリックとプライベート両方のフィールドとプロパティをすべてシリアル化するには、BinaryFormatter を使用します。

stream パラメータには、抽象 Stream クラスから派生したオブジェクトを指定します。Stream の派生クラスには、次のクラスが含まれます。

メモ   次のような ArrayList の配列および List の配列については、XmlSerializer でシリアル化することはできません。

Stream オブジェクトを使用して、オブジェクトをシリアル化する例を次に示します。

using System;
using System.IO;
using System.Xml.Serialization;

// This is the class that will be serialized.
public class OrderedItem
{
   public string ItemName;
   public string Description;
   public decimal UnitPrice;
   public int Quantity;
   public decimal LineTotal;

   // A custom method used to calculate price per item.
   public void Calculate()
   {
      LineTotal = UnitPrice * Quantity;
   }
}
 
public class Test{
   public static void Main(string[] args)
   {
      Test t = new Test();
      // Write a purchase order.
      t.SerializeObject("simple.xml");
   }
 
   private void SerializeObject(string filename)
   {
      Console.WriteLine("Writing With Stream");
 
      XmlSerializer serializer = 
      new XmlSerializer(typeof(OrderedItem));
      OrderedItem i = new OrderedItem();
      i.ItemName = "Widget";
      i.Description = "Regular Widget";
      i.Quantity = 10;
      i.UnitPrice = (decimal) 2.30;
      i.Calculate();
 
      // Create a FileStream to write with.
      Stream writer = new FileStream(filename, FileMode.Create);
      // Serialize the object, and close the TextWriter
      serializer.Serialize(writer, i);
      writer.Close();
   }
}


import System.*;
import System.IO.*;
import System.Xml.Serialization.*;

// This is the class that will be serialized.
public class OrderedItem
{
    public String itemName;
    public String description;
    public System.Decimal unitPrice;
    public int quantity;
    public System.Decimal lineTotal;

    // A custom method used to calculate price per item.
    public void Calculate()
    {
        lineTotal = Decimal.Multiply(unitPrice, Convert.ToDecimal(quantity));
    } //Calculate
} //OrderedItem

public class Test
{
    public static void main(String[] args)
    {
        Test t = new Test();
        // Write a purchase order.
        t.SerializeObject("simple.xml");
    } //main

    private void SerializeObject(String fileName)
    {
        Console.WriteLine("Writing With Stream");
        XmlSerializer serializer =
            new XmlSerializer(OrderedItem.class.ToType());
        OrderedItem i = new OrderedItem();
        i.itemName = "Widget";
        i.description = "Regular Widget";
        i.quantity = 10;
        i.unitPrice = Convert.ToDecimal(2.3);
        i.Calculate();

        // Create a FileStream to write with.
        Stream writer = new FileStream(fileName, FileMode.Create);

        // Serialize the object, and close the TextWriter
        serializer.Serialize(writer, i);
        writer.Close();
    } //SerializeObject
} //Test

<?xml version="1.0"?>
 <OrderedItem xmlns:inventory="http://www.cpandl.com" xmlns:money="http://www.cohowinery.com">
   <inventory:ItemName>Widget</inventory:ItemName>
   <inventory:Description>Regular Widget</inventory:Description>
   <money:UnitPrice>2.3</money:UnitPrice>
   <inventory:Quantity>10</inventory:Quantity>
   <money:LineTotal>23</money:LineTotal>
 </OrderedItem>


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

.NET Framework

サポート対象 : 2.0、1.1、1.0

.NET Compact Framework

サポート対象 : 2.0
表示: