(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

XmlNamespaceDeclarationsAttribute-Klasse

Gibt an, dass Zieleigenschaft, Zielparameter, Zielrückgabewert oder Zielklassenmember Präfixe enthalten, die den innerhalb eines XML-Dokuments verwendeten Namespaces zugeordnet werden.

System.Object
  System.Attribute
    System.Xml.Serialization.XmlNamespaceDeclarationsAttribute

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

[AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter|AttributeTargets.ReturnValue, AllowMultiple = false)]
public class XmlNamespaceDeclarationsAttribute : Attribute

Der XmlNamespaceDeclarationsAttribute-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsXmlNamespaceDeclarationsAttributeInitialisiert eine neue Instanz der XmlNamespaceDeclarationsAttribute-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftTypeIdBei Implementierung in einer abgeleiteten Klasse wird ein eindeutiger Bezeichner für dieses Attribute abgerufen. (Von Attribute geerbt.)
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEqualsInfrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Von Attribute geerbt.)
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeGibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeIsDefaultAttributeBeim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkMatchBeim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.)
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoRuft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.)
Zum Seitenanfang

Das XmlNamespaceDeclarationsAttribute-Attribut kann innerhalb einer Klasse nur einmal einem Feld oder einer Eigenschaft zugewiesen werden, das oder die ein XmlSerializerNamespaces-Objekt zurückgibt.

XmlNamespaceDeclarationsAttribute ermöglicht das Speichern der Präfixe und der zugeordneten, in einem XML-Dokument verwendeten Namespaces. Das Attribut wird beispielsweise zum Speichern von XPath-Daten verwendet, wie in dem Dokument "XML Language (Xpath) Version 1.0" des World Wide Web Consortium (www.w3.org) definiert. XPath ist eine Zeichenfolge, die viele Namespace-Präfixe und lokale Namen sowie weitere Syntax enthält.

Mit der XPath-Sprache können Präfixe mit einem Pfad verbunden werden. Außerdem kann ein Präfix innerhalb eines XML-Dokuments verwendet werden. Das folgende XML-Dokument "select" enthält ein Präfix ("cal"), das mit einem spezifischen URI verknüpft ist (http://www.cohowinery.com/calendar/). Das Element enthält das Attribut "path", das wiederum XPath enthält.

 <select xmlns:cal ="http://www.cohowinery.com/calendar/" path="cal:appointments/@startTime" />

Im Folgenden finden Sie ein Beispielschema:

 <element name="select">
    <complexType>
       <simpleContent>
          <attribute name="path" />
       </simpleContent>
    </complexType>
 </element>

Ohne XmlNamespaceDeclarationsAttribute wird die Verbindung zwischen Präfix und Namespace verworfen.

Um die Verbindung zwischen Präfix und Namespace-URI beizubehalten, fügen Sie ein Member hinzu, das ein XmlSerializerNamespaces-Objekt zurückgibt und weisen Sie dem Member das XmlNamespaceDeclarationsAttribute-Attribut zu, wie im folgenden C#- und Visual Basic-Code dargestellt:

 // C#
 public class Select {
   [XmlAttribute] public string path;
   [XmlNamespaceDeclarations] public XmlSerializerNamespaces xmlns;
 }
 ' Visual Basic
 Public Class Select
    <XmlAttribute> Public path As String
    <XmlNamespaceDeclarations> Public xmlns As XmlSerializerNamespaces
 End Class

Bei der Serialisierung enthält das Schema für das generierte XML-Dokument das XML-Schemadefinitionselement (XSD) appinfo. Außerdem enthält das Element das Metadatenelement keepNamespaceDeclarations, das auf den Namen des Members festgelegt wurde, der die Namespacedeklarationen enthält. Das folgende XML-Fragment zeigt das Schema:

 <xs:element name="select">
    <xs:complexType>
       <xs:annotation> 
          <xs:appinfo>
           <keepNamespaceDeclarations>xmlns</keepNamespaceDeclarations>
          </xs:appinfo> 
       </xs:annotation> 
       <xs:simpleContent>
          <xs:attribute name="path" />
       </xs:simpleContent>
    </xs:complexType>
 </xs:element>

Bei der Deserialisierung enthält das xmlns-Feld ein XmlSerializerNamespaces-Objekt mit allen Präfixdefinitionen für den Namespace.

Bei der Serialisierung kann der Benutzer zum XmlSerializerNamespaces-Objekt mithilfe der Add-Methode Präfix-Namespacepaare hinzufügen. Dies wird im folgenden C#- und Visual Basic-Code dargestellt.

 // C#
 using System;
 using System.IO;
 using System.Xml.Serialization;
 [XmlRoot("select")]
 public class Select {
    [XmlAttribute]
    public string xpath;
    [XmlNamespaceDeclarations]
    public XmlSerializerNamespaces xmlns;
 }
 public class Test {
    public static void Main(string[] args) {
       Select mySelect = new Select();
       mySelect.xpath = "myNS:ref/@common:y";
       mySelect.xmlns = new XmlSerializerNamespaces();
       mySelect.xmlns.Add("MyNS", "myNS.tempuri.org");
       mySelect.xmlns.Add("common", "common.tempuri.org");
       XmlSerializer ser = new XmlSerializer(typeof(Select));
       ser.Serialize(Console.Out, mySelect);
    }
 }
 // Output:
 // <?xml version="1.0" encoding="IBM437"?>
 // <select xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 // xmlns:common="common.tempuri.org" xmlns:MyNS="myNS.tempuri.org" xpath="myNS:ref/@common:y" />
 ' Visual Basic
 Imports System
 Imports System.IO
 Imports System.Xml.Serialization
 <XmlRoot("select")> _
 Public Class SelectPath
    <XmlAttribute> _
    Public xpath As String 
    <XmlNamespaceDeclarations> _
    public xmlns As XmlSerializerNamespaces 
 End Class
 Public Class Test 
    Public Shared Sub Main() 
       Dim mySelect As SelectPath = New SelectPath()
       mySelect.xpath = "myNS:ref/@common:y"
       mySelect.xmlns = New XmlSerializerNamespaces()
       mySelect.xmlns.Add("MyNS", "myNS.tempuri.org")
       mySelect.xmlns.Add("common", "common.tempuri.org")
       Dim ser As XmlSerializer = New XmlSerializer(mySelect.GetType)
       ser.Serialize(Console.Out, mySelect)
    End Sub
 End Class
 'Output:
 ' <?xml version="1.0" encoding="IBM437"?>
 ' <select xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 ' xmlns:common="common.tempuri.org" xmlns:MyNS="myNS.tempuri.org" xpath="myNS:ref/@common:y" />

Beachten Sie außerdem, dass das Member, dem das Attribut zugewiesen wurde, nur die Präfix-Namespacepaare enthält, die zu dem von der Klasse definierten XML-Element gehören. Im folgenden XML-Dokument wird nur das Präfixpaar "cal" gespeichert, nicht aber das "x"-Präfix. Fügen Sie der Klasse, die das root-Element darstellt, einen Member mit dem XmlNamespaceDeclarationsAttribute hinzu, um diese Daten abzurufen.

 <?xml version="1.0"?>
 <x:root xmlns:x="http://www.cohowinery.com/x/">
   <x:select xmlns:cal="http://www.cohowinery.com/calendar/" path="cal:appointments/@cal:startTime" />
 </x:root>

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

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

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

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft