Auf Englisch lesen

Freigeben über


XmlElementEventArgs Klasse

Definition

Stellt Daten für das UnknownElement-Ereignis bereit.

C#
public class XmlElementEventArgs : EventArgs
Vererbung
XmlElementEventArgs

Beispiele

Im folgenden Beispiel wird eine Klasse namens Group aus einer Datei namens UnknownElements.xml deserialisiert. Wenn in der Datei ein Element gefunden wird, das kein entsprechendes Element in der -Klasse enthält, tritt das UnknownElement -Ereignis auf. Fügen Sie zum Probieren des Beispiels den folgenden XML-Code in eine Datei mit dem Namen UnknownElements.xml ein.

<?xml version="1.0" encoding="utf-8"?>  
<Group xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">  
  <GroupName>MyGroup</GroupName>  
  <GroupSize>Large</GroupSize>  
  <GroupNumber>444</GroupNumber>  
  <GroupBase>West</GroupBase>  
</Group>  
C#
using System;
using System.IO;
using System.Xml.Serialization;
using System.Xml;
using System.Xml.Schema;

public class Group{
   public string GroupName;
}

public class Test{
   static void Main(){
      Test t = new Test();
      // Deserialize the file containing unknown elements.
      t.DeserializeObject("UnknownElements.xml");
   }
   private void Serializer_UnknownElement(object sender, XmlElementEventArgs e){
      Console.WriteLine("Unknown Element");
      Console.WriteLine("\t" + e.Element.Name + " " + e.Element.InnerXml);
      Console.WriteLine("\t LineNumber: " + e.LineNumber);
      Console.WriteLine("\t LinePosition: " + e.LinePosition);
      
      Group x  = (Group) e.ObjectBeingDeserialized;
      Console.WriteLine (x.GroupName);
      Console.WriteLine (sender.ToString());
   }
   private void DeserializeObject(string filename){
      XmlSerializer ser = new XmlSerializer(typeof(Group));
      // Add a delegate to handle unknown element events.
      ser.UnknownElement+=new XmlElementEventHandler(Serializer_UnknownElement);
      // A FileStream is needed to read the XML document.
     FileStream fs = new FileStream(filename, FileMode.Open);
     Group g = (Group) ser.Deserialize(fs);
     fs.Close();
    }
}

Hinweise

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter Behandeln und Auslösen von Ereignissen und Behandeln und Auslösen von Ereignissen.

Das UnknownElement Ereignis tritt nur auf, wenn Sie die Deserialize -Methode aufrufen.

Eigenschaften

Element

Ruft das Objekt ab, das das unbekannte XML-Element darstellt.

ExpectedElements

Ruft eine durch Trennzeichen getrennte Liste von XML-Elementnamen ab, von denen erwartet wird, dass sie in einer XML-Dokumentinstanz vorhanden sind.

LineNumber

Ruft die Zeilennummer ab, in der sich das unbekannte Element befindet, wenn der XML-Reader ein XmlTextReader ist.

LinePosition

Ruft die Stelle in der Zeile ab, in der sich das unbekannte Element befindet, wenn der XML-Reader ein XmlTextReader ist.

ObjectBeingDeserialized

Ruft das von XmlSerializer deserialisierte Objekt ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1