XmlNodeEventArgs Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit des données pour l'événement UnknownNode.
public ref class XmlNodeEventArgs : EventArgs
public class XmlNodeEventArgs : EventArgs
type XmlNodeEventArgs = class
inherit EventArgs
Public Class XmlNodeEventArgs
Inherits EventArgs
- Héritage
Exemples
L’exemple suivant utilise l’événement UnknownNode de pour XmlSerializer imprimer les différentes propriétés d’un nœud XML inconnu rencontré lors de l’appel de la méthode de Deserialize la XmlSerializer classe .
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
public ref class Group
{
public:
// Only the GroupName field will be known.
String^ GroupName;
};
public ref class Test
{
public:
static void main()
{
Test^ t = gcnew Test;
t->DeserializeObject( "UnknownNodes.xml" );
}
private:
void DeserializeObject( String^ filename )
{
XmlSerializer^ mySerializer = gcnew XmlSerializer( Group::typeid );
FileStream^ fs = gcnew FileStream( filename,FileMode::Open );
mySerializer->UnknownNode += gcnew XmlNodeEventHandler( this, &Test::serializer_UnknownNode );
Group^ myGroup = dynamic_cast<Group^>(mySerializer->Deserialize( fs ));
fs->Close();
}
private:
void serializer_UnknownNode( Object^ /*sender*/, XmlNodeEventArgs^ e )
{
Console::WriteLine( "UnknownNode Name: {0}", e->Name );
Console::WriteLine( "UnknownNode LocalName: {0}", e->LocalName );
Console::WriteLine( "UnknownNode Namespace URI: {0}", e->NamespaceURI );
Console::WriteLine( "UnknownNode Text: {0}", e->Text );
XmlNodeType myNodeType = e->NodeType;
Console::WriteLine( "NodeType: {0}", myNodeType );
Group^ myGroup = dynamic_cast<Group^>(e->ObjectBeingDeserialized);
Console::WriteLine( "GroupName: {0}", myGroup->GroupName );
Console::WriteLine();
}
};
int main()
{
Test::main();
}
/* Paste this XML into a file named UnknownNodes:
<?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" xmlns:coho = "http://www.cohowinery.com"
xmlns:cp="http://www.cpandl.com">
<coho:GroupName>MyGroup</coho:GroupName>
<cp:GroupSize>Large</cp:GroupSize>
<cp:GroupNumber>444</cp:GroupNumber>
<coho:GroupBase>West</coho:GroupBase>
<coho:ThingInfo>
<Number>1</Number>
<Name>Thing1</Name>
<Elmo>
<Glue>element</Glue>
</Elmo>
</coho:ThingInfo>
</Group>
*/
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
public class Group{
// Only the GroupName field will be known.
public string GroupName;
}
public class Test{
static void Main(){
Test t = new Test();
t.DeserializeObject("UnknownNodes.xml");
}
private void DeserializeObject(string filename){
XmlSerializer mySerializer = new XmlSerializer(typeof(Group));
FileStream fs = new FileStream(filename, FileMode.Open);
mySerializer.UnknownNode += new
XmlNodeEventHandler(serializer_UnknownNode);
Group myGroup = (Group) mySerializer.Deserialize(fs);
fs.Close();
}
private void serializer_UnknownNode
(object sender, XmlNodeEventArgs e){
Console.WriteLine
("UnknownNode Name: {0}", e.Name);
Console.WriteLine
("UnknownNode LocalName: {0}" ,e.LocalName);
Console.WriteLine
("UnknownNode Namespace URI: {0}", e.NamespaceURI);
Console.WriteLine
("UnknownNode Text: {0}", e.Text);
XmlNodeType myNodeType = e.NodeType;
Console.WriteLine("NodeType: {0}", myNodeType);
Group myGroup = (Group) e.ObjectBeingDeserialized;
Console.WriteLine("GroupName: {0}", myGroup.GroupName);
Console.WriteLine();
}
}
/* Paste this XML into a file named UnknownNodes:
<?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" xmlns:coho = "http://www.cohowinery.com"
xmlns:cp="http://www.cpandl.com">
<coho:GroupName>MyGroup</coho:GroupName>
<cp:GroupSize>Large</cp:GroupSize>
<cp:GroupNumber>444</cp:GroupNumber>
<coho:GroupBase>West</coho:GroupBase>
<coho:ThingInfo>
<Number>1</Number>
<Name>Thing1</Name>
<Elmo>
<Glue>element</Glue>
</Elmo>
</coho:ThingInfo>
</Group>
*/
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
Public Class Group
' Only the GroupName field will be known.
Public GroupName As String
End Class
Public Class Test
Shared Sub Main()
Dim t As Test = New Test()
t.DeserializeObject("UnknownNodes.xml")
End Sub
Private Sub DeserializeObject(filename As String )
Dim mySerializer As XmlSerializer = New XmlSerializer(GetType(Group))
Dim fs As FileStream = New FileStream(filename, FileMode.Open)
AddHandler mySerializer.UnknownNode, _
AddressOf serializer_UnknownNode
Dim myGroup As Group = _
CType(mySerializer.Deserialize(fs), Group)
fs.Close()
End Sub
Private Sub serializer_UnknownNode _
(sender As object , e As XmlNodeEventArgs )
Console.WriteLine _
("UnknownNode Name: {0}", e.Name)
Console.WriteLine _
("UnknownNode LocalName: {0}" ,e.LocalName)
Console.WriteLine _
("UnknownNode Namespace URI: {0}", e.NamespaceURI)
Console.WriteLine _
("UnknownNode Text: {0}", e.Text)
Dim myNodeType As XmlNodeType = e.NodeType
Console.WriteLine("NodeType: {0}", myNodeType)
Dim myGroup As Group = CType(e.ObjectBeingDeserialized, Group)
Console.WriteLine("GroupName: {0}", myGroup.GroupName)
Console.WriteLine()
End Sub
End Class
' Paste this XML into a file named UnknownNodes:
'<?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" xmlns:coho = "http:'www.cohowinery.com"
'xmlns:cp="http:'www.cpandl.com">
' <coho:GroupName>MyGroup</coho:GroupName>
' <cp:GroupSize>Large</cp:GroupSize>
' <cp:GroupNumber>444</cp:GroupNumber>
' <coho:GroupBase>West</coho:GroupBase>
' <coho:ThingInfo>
' <Number>1</Number>
' <Name>Thing1</Name>
' <Glue>element</Glue>
' </coho:ThingInfo>
'/Group>
Remarques
Pour plus d’informations sur la façon de gérer les événements, consultez gestion et déclenchement d’événements.
L’événement UnknownNode ne peut se produire que lorsque vous appelez la Deserialize méthode .
Propriétés
LineNumber |
Obtient le numéro de ligne du nœud XML inconnu. |
LinePosition |
Obtient la position du nœud XML inconnu sur la ligne. |
LocalName |
Obtient le nom local XML du nœud XML en cours de désérialisation. |
Name |
Obtient le nom du nœud XML en cours de désérialisation. |
NamespaceURI |
Obtient l'URI d'espace de noms qui est associé au nœud XML en cours de désérialisation. |
NodeType |
Obtient le type du nœud XML en cours de désérialisation. |
ObjectBeingDeserialized |
Obtient l'objet en cours de désérialisation. |
Text |
Obtient le texte du nœud XML en cours de désérialisation. |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |