War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) 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

XmlAnyElementAttribute-Klasse

Gibt an, dass der Member (ein Feld, das ein Array von XmlElement-Objekten oder XmlNode-Objekten zurückgibt) Objekte enthält, die XML-Elemente darstellen, die keine entsprechenden Member in dem zu serialisierenden oder zu deserialisierenden Objekt aufweisen.

System.Object
  System.Attribute
    System.Xml.Serialization.XmlAnyElementAttribute

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

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

Der XmlAnyElementAttribute-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-AppsXmlAnyElementAttribute()Initialisiert eine neue Instanz der XmlAnyElementAttribute-Klasse.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsXmlAnyElementAttribute(String)Initialisiert eine neue Instanz der XmlAnyElementAttribute-Klasse und gibt den im XML-Dokument generierten XML-Elementnamen an.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsXmlAnyElementAttribute(String, String)Initialisiert eine neue Instanz der XmlAnyElementAttribute-Klasse und gibt den im XML-Dokument und dessen XML-Namespace generierten XML-Elementnamen an.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNameRuft den XML-Elementnamen ab oder legt diesen fest.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNamespaceRuft den im XML-Dokument generierten XML-Namespace ab oder legt diesen fest.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOrderRuft die explizite Reihenfolge ab, in der die Elemente serialisiert oder deserialisiert werden, oder legt diese fest.
Öffentliche EigenschaftTypeId Bei 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

TippTipp

Beim Arbeiten in einer portablen Klassenbibliothek, wie in Silverlight, verwenden Windows Phone-Apps oder Windows Store und Sie .NET Framework 4.0.3 und oben, mit XElement oder XNode anstelle von XmlElement und XmlNode.

Das XmlAnyElementAttribute kann beliebige Daten (als XML-Elemente) enthalten, die als Teil eines XML-Dokuments, z. B. als Metadaten, gesendet werden können.

Wenden Sie XmlAnyElementAttribute auf ein Feld an, das ein Array von XmlElement-Objekten oder XmlNode-Objekten zurückgibt. Ein solches Feld kann auf zwei Arten verwendet werden, je nachdem, ob ein Objekt serialisiert oder deserialisiert wird. Bei der Serialisierung werden die Objekte als XML-Elemente oder -Knoten generiert, auch wenn diese über keinen bzw. keine entsprechenden Member im zu serialisierenden Objekt verfügen. Wenn Sie beim Anwenden des Attributs einen Name-Eigenschaftswert angeben, müssen alle in das Array eingefügten XmlElement-Objekte oder XmlNode-Objekte über denselben Elementnamen und Standardnamespace verfügen, oder es wird eine Ausnahme ausgelöst. Wenn Sie den Namespace-Eigenschaftswert festlegen, müssen Sie auch die Name-Eigenschaft festlegen, und die XmlElement-Objekte oder XmlNode-Objekte müssen denselben Namen und dieselben Namespacewerte aufweisen. Wenn kein Name-Wert angegeben wird, kann das XmlElement-Objekt oder das XmlNode-Objekt jeden Elementnamen annehmen.

Wenn Sie die Deserialize-Methode der XmlSerializer-Klasse aufrufen, werden alle Elemente in dem Array zusammengestellt, die über keinen entsprechenden Member in dem zu deserialisierenden Objekt verfügen. Nach dem Deserialisieren können Sie die Auflistung der XmlElement-Elemente zum Verarbeiten der Daten durchlaufen. Wenn Sie einen Name-Wert angeben, enthält das Array nur die XML-Elemente mit diesem Namen. Wenn Sie keinen Name-Wert angeben, enthält das Array alle Elemente, die über keinen entsprechenden Member in der Klasse verfügen. Wenn eine Klasse mehrere Felder enthält, auf die das Attribut angewendet wird, verwenden Sie die Name-Eigenschaft oder die Name-Eigenschaft und die Namespace-Eigenschaft zum Unterscheiden zwischen den Inhalten der Arrays. Wenn eine solche Klasse (mit mehreren Feldern) außerdem ein Feld ohne festgelegte unterscheidende Eigenschaftswerte enthält (also Name und Namespace), enthält dieses Array bei der Deserialisierung alle unbekannten XML-Elemente, die nicht bereits in den anderen Arrays vorhanden sind. Wenn eine Klasse mehrere Felder ohne festgelegten unterscheidenden Name-Wert oder Name-Wert und Namespace-Wert enthält, ist das Verhalten während der Deserialisierung nicht definiert.

Sie können das XmlAnyElementAttribute auch auf ein Feld anwenden, das ein einzelnes XmlElement-Objekt zurückgibt. In diesem Fall müssen Sie die Eigenschaften und Methoden der XmlElement-Klasse verwenden, um die unbekannten Elemente rekursiv zu durchlaufen.

Sie können mehrere Instanzen von XmlAnyElementAttribute auf einen Klassenmember anwenden, jedoch muss jede Instanz über einen unterschiedlichen Name-Eigenschaftswert verfügen. Wenn dieselbe Name-Eigenschaft für alle Instanzen festgelegt wurde, muss für jede Instanz ein unterschiedlicher Namespace-Eigenschaftswert festgelegt werden.

Das UnknownNode-Ereignis und das UnknownAttribute-Ereignis von XmlSerializer treten nicht ein, wenn Sie XmlAnyElementAttribute auf den Member einer Klasse anwenden.

HinweisHinweis

Sie können das Wort XmlAnyElement anstelle des längeren XmlAnyElementAttribute im Code verwenden.

Weitere Informationen zum Verwenden von Attributen finden Sie unter Erweitern von Metadaten mithilfe von Attributen.

Im folgenden Beispiel wird XmlAnyElementAttribute auf das Feld AllElements angewendet, das ein Array von XmlElement-Objekten zurückgibt.


public class XClass
{
   /* Apply the XmlAnyElementAttribute to a field returning an array
   of XmlElement objects. */
   [XmlAnyElement]
   public XmlElement[] AllElements;
}

public class Test
{
   public static void Main()
   {
      Test t = new Test();
      t.DeserializeObject("XFile.xml");
   }

   private void DeserializeObject(string filename)
   {
      // Create an XmlSerializer.
      XmlSerializer mySerializer = new XmlSerializer(typeof(XClass));

      // To read a file, a FileStream is needed.
      FileStream fs = new FileStream(filename, FileMode.Open);

      // Deserialize the class.
      XClass x = (XClass) mySerializer.Deserialize(fs);

      // Read the element names and values.
      foreach(XmlElement xel in x.AllElements)
         Console.WriteLine(xel.LocalName + ": " + xel.Value);
   }
}


.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:
© 2015 Microsoft