DataContractSerializer.WriteObjectContent 方法

定义

使用指定的写入器写入 XML 内容,而不写入包装元素。

重载

WriteObjectContent(XmlDictionaryWriter, Object)

使用 XmlDictionaryWriter 写入 XML 内容。

WriteObjectContent(XmlWriter, Object)

使用 XmlWriter 写入 XML 内容。

WriteObjectContent(XmlDictionaryWriter, Object)

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

使用 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 类的实例。 该示例使用 WriteStartObjectWriteObjectContentWriteObjectContent 方法将对象数据写入 XML 文档。

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)

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

使用 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 特性未应用于该类型。

正在写入的实例出现问题。

适用于