DataContractSerializer.WriteEndObject 方法     
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用指定的写入器写入结束 XML 元素。
重载
| WriteEndObject(XmlDictionaryWriter) | 使用 XmlDictionaryWriter 写入结束 XML 元素。 | 
| WriteEndObject(XmlWriter) | 使用 XmlWriter 写入结束 XML 元素。 | 
WriteEndObject(XmlDictionaryWriter)
- Source:
- DataContractSerializer.cs
- Source:
- DataContractSerializer.cs
- Source:
- DataContractSerializer.cs
使用 XmlDictionaryWriter 写入结束 XML 元素。
public:
 override void WriteEndObject(System::Xml::XmlDictionaryWriter ^ writer);public override void WriteEndObject (System.Xml.XmlDictionaryWriter writer);override this.WriteEndObject : System.Xml.XmlDictionaryWriter -> unitPublic Overrides Sub WriteEndObject (writer As XmlDictionaryWriter)参数
- writer
- XmlDictionaryWriter
用于写入流的 XmlDictionaryWriter。
例外
正在序列化的类型不符合数据协定规则。 例如,DataContractAttribute 特性未应用于该类型。
正在写入的实例出现问题。
示例
下面的示例创建要序列化的对象、DataContractSerializer 的实例以及 XmlDictionaryWriter 类的实例。 该示例使用 WriteStartObject、WriteObjectContent 和 WriteObjectContent 方法将对象数据写入 XML 文档。 进行这些调用等效于调用一次 WriteObject 方法。 例如,在调用 WriteStartObject 方法后,用户可以分别进行这些调用以将其他 XML 属性插入 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
适用于
WriteEndObject(XmlWriter)
- Source:
- DataContractSerializer.cs
- Source:
- DataContractSerializer.cs
- Source:
- DataContractSerializer.cs
使用 XmlWriter 写入结束 XML 元素。
public:
 override void WriteEndObject(System::Xml::XmlWriter ^ writer);public override void WriteEndObject (System.Xml.XmlWriter writer);override this.WriteEndObject : System.Xml.XmlWriter -> unitPublic Overrides Sub WriteEndObject (writer As XmlWriter)参数
例外
正在序列化的类型不符合数据协定规则。 例如,DataContractAttribute 特性未应用于该类型。
正在写入的实例出现问题。