XmlAttributeEventArgs Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt gegevens voor de UnknownAttribute gebeurtenis.
public ref class XmlAttributeEventArgs : EventArgs
public class XmlAttributeEventArgs : EventArgs
type XmlAttributeEventArgs = class
inherit EventArgs
Public Class XmlAttributeEventArgs
Inherits EventArgs
- Overname
Voorbeelden
In het volgende voorbeeld wordt een klasse met de naam van Group een bestand met de naam UnknownAttributes.xmlgedeserialiseerd. Wanneer een element wordt gevonden in het bestand dat geen corresponderend lid in de klasse heeft, vindt de UnknownAttribute gebeurtenis plaats. Als u het voorbeeld wilt proberen, plakt u de volgende XML-code in een bestand met de naam UnknownAttributes.xml.
<?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" GroupType = 'Technical' GroupNumber = '42' GroupBase = 'Red'>
<GroupName>MyGroup</GroupName>
</Group>
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("UnknownAttributes.xml");
}
private void Serializer_UnknownAttribute(object sender, XmlAttributeEventArgs e){
Console.WriteLine("Unknown Attribute");
Console.WriteLine("\t" + e.Attr.Name + " " + e.Attr.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.UnknownAttribute+=new XmlAttributeEventHandler(Serializer_UnknownAttribute);
// A FileStream is needed to read the XML document.
FileStream fs = new FileStream(filename, FileMode.Open);
Group g = (Group) ser.Deserialize(fs);
fs.Close();
}
}
Imports System.IO
Imports System.Xml.Serialization
Imports System.Xml
Imports System.Xml.Schema
Public Class Group
Public GroupName As String
End Class
Public Class Test
Shared Sub Main()
Dim t As Test = new Test()
' Deserialize the file containing unknown elements.
t.DeserializeObject("UnknownAttributes.xml")
End Sub
Private Sub Serializer_UnknownAttribute _
(sender As Object , e As XmlAttributeEventArgs)
Console.WriteLine("Unknown Attribute")
Console.WriteLine(ControlChars.Tab & e.Attr.Name + " " & e.Attr.InnerXml)
Console.WriteLine(ControlChars.Tab & e.LineNumber & ":" & e.LineNumber)
Console.WriteLine(ControlChars.Tab & e.LinePosition & ":" & e.LinePosition)
Dim x As Group = CType( e.ObjectBeingDeserialized, Group)
Console.WriteLine (x.GroupName)
Console.WriteLine (sender.ToString())
End Sub
Private Sub DeserializeObject(filename As String)
Dim ser As XmlSerializer = new XmlSerializer(GetType(Group))
' Add a delegate to handle unknown element events.
AddHandler ser.UnknownAttribute, _
AddressOf Serializer_UnknownAttribute
' A FileStream is needed to read the XML document.
Dim fs As FileStream = new FileStream(filename, FileMode.Open)
Dim g As Group = CType(ser.Deserialize(fs),Group)
fs.Close()
End Sub
End Class
Opmerkingen
Zie Gebeurtenissenoverzicht voor meer informatie over het afhandelen van gebeurtenissen.
De UnknownAttribute gebeurtenis vindt alleen plaats wanneer u de Deserialize methode aanroept.
Eigenschappen
| Name | Description |
|---|---|
| Attr |
Hiermee haalt u een object op dat het onbekende XML-kenmerk vertegenwoordigt. |
| ExpectedAttributes |
Hiermee wordt een door komma's gescheiden lijst met XML-kenmerknamen opgehaald die naar verwachting in een XML-documentexemplaren moeten staan. |
| LineNumber |
Hiermee wordt het regelnummer van het onbekende XML-kenmerk opgehaald. |
| LinePosition |
Hiermee haalt u de positie op in de regel van het onbekende XML-kenmerk. |
| ObjectBeingDeserialized |
Hiermee wordt het object gedeserialiseerd. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |