NetDataContractSerializer.WriteObjectContent メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したライターを使用して、XML コンテンツを書き込みます。
オーバーロード
WriteObjectContent(XmlDictionaryWriter, Object) |
XmlDictionaryWriter を使用して、XML コンテンツを書き込みます。 |
WriteObjectContent(XmlWriter, Object) |
XmlWriter を使用して、XML コンテンツを書き込みます。 |
注釈
WriteStartObject、WriteObjectContent、および WriteEndObject の各メソッドは、書き込み開始、コンテンツの書き込み、および書き込み終了というパターンを使用する完全なシリアル化を書き込むために、続けて使用されます。 この 3 つのメソッドは、WriteObject メソッドとも呼ばれます。
WriteObjectContent(XmlDictionaryWriter, Object)
XmlDictionaryWriter を使用して、XML コンテンツを書き込みます。
public:
override void WriteObjectContent(System::Xml::XmlDictionaryWriter ^ writer, System::Object ^ graph);
public override void WriteObjectContent (System.Xml.XmlDictionaryWriter writer, object graph);
override this.WriteObjectContent : System.Xml.XmlDictionaryWriter * obj -> unit
Public Overrides Sub WriteObjectContent (writer As XmlDictionaryWriter, graph As Object)
パラメーター
- writer
- XmlDictionaryWriter
XML コンテンツを書き込むために使用する XmlDictionaryWriter。
- graph
- Object
シリアル化するオブジェクト。 このルート オブジェクトのすべての子オブジェクトは、自動的にシリアル化されます。
例外
シリアル化される種類がデータ コントラクト規則に従いません。 たとえば、DataContractAttribute 属性が型に適用されていません。
シリアル化されるインスタンスに問題があります。
シリアル化されるオブジェクトが最大数を超えました。 MaxItemsInObjectGraph プロパティをチェックします。
例
次の例では、シリアル化するオブジェクト、NetDataContractSerializer のインスタンス、および XmlDictionaryWriter クラスのインスタンスを作成しています。 この例では、XML ドキュメントにオブジェクト データを書き込むために、WriteStartObject メソッド、WriteObjectContent、および WriteEndObject メソッドを使用します。
public sealed class ShowWriteStartObject
{
public static void WriteObjectData(string path)
{
// Create the object to serialize.
Person p = new Person("Lynn", "Tsoflias", 9876);
// Create the writer.
FileStream fs = new FileStream(path, FileMode.Create);
XmlDictionaryWriter writer =
XmlDictionaryWriter.CreateTextWriter(fs);
NetDataContractSerializer ser =
new NetDataContractSerializer();
// Use the writer to start a document.
writer.WriteStartDocument(true);
// Use the serializer to write the start of the
// object data. Use it again to write the object
// data.
ser.WriteStartObject(writer, p);
ser.WriteObjectContent(writer, p);
// Use the serializer to write the end of the
// object data. Then use the writer to write the end
// of the document.
ser.WriteEndObject(writer);
writer.WriteEndDocument();
Console.WriteLine("Done");
// Close and release the writer resources.
writer.Flush();
fs.Flush();
fs.Close();
}
NotInheritable Public Class ShowWriteStartObject
Public Shared Sub WriteObjectData(ByVal path As String)
' Create the object to serialize.
Dim p As New Person("Lynn", "Tsoflias", 9876)
' Create the writer.
Dim fs As New FileStream(path, FileMode.Create)
Dim writer As XmlDictionaryWriter = XmlDictionaryWriter.CreateTextWriter(fs)
Dim ser As New System.Runtime.Serialization.NetDataContractSerializer()
' Use the writer to start a document.
writer.WriteStartDocument(True)
' Use the serializer to write the start of the
' object data. Use it again to write the object
' data.
ser.WriteStartObject(writer, p)
writer.WriteStartAttribute("MyAttribute")
writer.WriteString("My Text")
writer.WriteEndAttribute()
ser.WriteObjectContent(writer, p)
' Use the serializer to write the end of the
' object data. Then use the writer to write the end
' of the document.
ser.WriteEndObject(writer)
writer.WriteEndDocument()
Console.WriteLine("Done")
' Close and release the writer resources.
writer.Flush()
fs.Flush()
fs.Close()
End Sub
適用対象
WriteObjectContent(XmlWriter, Object)
XmlWriter を使用して、XML コンテンツを書き込みます。
public:
override void WriteObjectContent(System::Xml::XmlWriter ^ writer, System::Object ^ graph);
public override void WriteObjectContent (System.Xml.XmlWriter writer, object graph);
override this.WriteObjectContent : System.Xml.XmlWriter * obj -> unit
Public Overrides Sub WriteObjectContent (writer As XmlWriter, graph As Object)
パラメーター
- graph
- Object
シリアル化するオブジェクト。 このルート オブジェクトのすべての子オブジェクトは、自動的にシリアル化されます。
例外
シリアル化される種類がデータ コントラクト規則に従いません。 たとえば、DataContractAttribute 属性が型に適用されていません。
シリアル化されるインスタンスに問題があります。
シリアル化されるオブジェクトが最大数を超えました。 MaxItemsInObjectGraph プロパティをチェックします。
適用対象
.NET