Freigeben über


XmlIncludeAttribute-Klasse

Ermöglicht dem XmlSerializer das Erkennen eines Typs beim Serialisieren oder Deserialisieren eines Objekts.

Namespace: System.Xml.Serialization
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Method Or AttributeTargets.Interface, AllowMultiple:=True)> _
Public Class XmlIncludeAttribute
    Inherits Attribute
'Usage
Dim instance As XmlIncludeAttribute
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Method|AttributeTargets.Interface, AllowMultiple=true)] 
public class XmlIncludeAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Method|AttributeTargets::Interface, AllowMultiple=true)] 
public ref class XmlIncludeAttribute : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Method|AttributeTargets.Interface, AllowMultiple=true) */ 
public class XmlIncludeAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Method|AttributeTargets.Interface, AllowMultiple=true) 
public class XmlIncludeAttribute extends Attribute

Hinweise

Verwenden Sie XmlIncludeAttribute beim Aufruf der Serialize-Methode oder der Deserialize-Methode der XmlSerializer-Klasse.

Geben Sie beim Anwenden von XmlIncludeAttribute den Type der abgeleiteten Klasse an. Wenn XmlSerializer Objekte serialisiert, die sowohl die Basisklasse als auch die abgeleitete Klasse umfassen, werden somit beide Objekttypen erkannt.

Sie können das XmlIncludeAttribute verwenden, um abgeleitete Klassen in Dienstbeschreibungsdokumente aufzunehmen, die in WSDL (Web Services Description Language) verfasst wurden. Wenn eine Methode z. B. ein Object zurückgibt, weisen Sie der Methode das XmlIncludeAttribute zu und geben die tatsächlich zurückzugebenden Typen an.

Weitere Informationen über WSDL finden Sie in "Web Services Description Language (WSDL) 1.1" unter www.w3.org.

Beispiel

Im folgenden Beispiel werden drei Klassen verwendet, von denen zwei von der dritten abgeleitet sind. In diesem Beispiel wird das XmlIncludeAttribute auf eine Methode angewendet, die eine Instanz einer der abgeleiteten Klassen zurückgibt.

<%@ WebService Language="C#" Class="Test" %>
 
using System;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Services.Description;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
using System.Data;
 
public class Test : WebService {
   [WebMethod()]
   [return:XmlElement("MyTime", DataType="time")]
   public DateTime EchoString([XmlElement(DataType="string")] 
   string strval) {
        return DateTime.Now;
   }
 
   [WebMethod()]
   [XmlInclude(typeof(Car)), XmlInclude(typeof(Bike))]
   public Vehicle Vehicle(string licenseNumber) {
      if (licenseNumber == "0") {
         Vehicle v = new Car();
         v.licenseNumber = licenseNumber;
         return v;
      }
      else if (licenseNumber == "1") {
          Vehicle v = new Bike();
          v.licenseNumber = licenseNumber;
          return v;
      }
      else {
         return null;
      }
   }
}
[XmlRoot("NewVehicle")] 
public abstract class Vehicle {
    public string licenseNumber;
    public DateTime make;
}
 
public class Car : Vehicle {
}
 
public class Bike : Vehicle {
}
   

Vererbungshierarchie

System.Object
   System.Attribute
    System.Xml.Serialization.XmlIncludeAttribute

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

XmlIncludeAttribute-Member
System.Xml.Serialization-Namespace
XmlSerializer
XmlAttributes-Klasse

Weitere Ressourcen

Einführung in die XML-Serialisierung
Gewusst wie: Angeben eines alternativen Elementnamens für einen XML-Stream
Steuern der XML-Serialisierung mit Attributen
Beispiele für die XML-Serialisierung
XML Schema Definition-Tool (Xsd.exe)