DataContractSerializer.WriteObjectContent メソッド

定義

指定したライターを使用して、ラップする要素なしで XML コンテンツを書き込みます。

オーバーロード

WriteObjectContent(XmlDictionaryWriter, Object)

XmlDictionaryWriter を使用して、XML コンテンツを書き込みます。

WriteObjectContent(XmlWriter, Object)

XmlWriter を使用して、XML コンテンツを書き込みます。

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);
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

ストリームを書き込むために使用する XmlDictionaryWriter

graph
Object

ストリームに書き込むオブジェクト。

例外

シリアル化される型がデータ コントラクト規則に準拠していません。 たとえば、DataContractAttribute 属性が型に適用されていません。

書き込まれているインスタンスに問題があります。

次の例では、シリアル化するオブジェクト、DataContractSerializer のインスタンス、および XmlDictionaryWriter クラスのインスタンスを作成しています。 この例では、XML ドキュメントにオブジェクト データを書き込むために、WriteStartObject メソッド、WriteObjectContent、および WriteObjectContent メソッドを使用します。

public static void WriteObjectContentInDocument(string path)
{
    // Create the object to serialize.
    Person p = new Person("Lynn", "Tsoflias", 9876);

    // Create the writer object.
    FileStream fs = new FileStream(path, FileMode.Create);
    XmlDictionaryWriter writer =
        XmlDictionaryWriter.CreateTextWriter(fs);

    DataContractSerializer ser =
        new DataContractSerializer(typeof(Person));

    // Use the writer to start a document.
    writer.WriteStartDocument(true);

    // Use the writer to write the root element.
    writer.WriteStartElement("Company");

    // Use the writer to write an element.
    writer.WriteElementString("Name", "Microsoft");

    // Use the serializer to write the start,
    // content, and end data.
    ser.WriteStartObject(writer, p);
    ser.WriteObjectContent(writer, p);
    ser.WriteEndObject(writer);

    // Use the writer to write the end element and
    // the end of the document.
    writer.WriteEndElement();
    writer.WriteEndDocument();

    // Close and release the writer resources.
    writer.Flush();
    fs.Flush();
    fs.Close();
}
Public Shared Sub WriteObjectContentInDocument(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 DataContractSerializer(GetType(Person))
    
    ' Use the writer to start a document.
    writer.WriteStartDocument(True)
    ' Use the writer to write the root element.
    writer.WriteStartElement("Company")
    ' Use the writer to write an element.
    writer.WriteElementString("Name", "Microsoft")

    ' Use the serializer to write the start,
    ' content, and end data.
    ser.WriteStartObject(writer, p)
    ser.WriteObjectContent(writer, p)
    ser.WriteEndObject(writer)
    
    ' Use the writer to write the end element and
    ' the end of the document.
    writer.WriteEndElement()
    writer.WriteEndDocument()
    
    ' 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);
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)

パラメーター

writer
XmlWriter

ストリームを書き込むために使用する XmlWriter

graph
Object

ストリームに書き込むオブジェクト。

例外

シリアル化される型がデータ コントラクト規則に準拠していません。 たとえば、DataContractAttribute 属性が型に適用されていません。

書き込まれているインスタンスに問題があります。

適用対象