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)