XmlElementEventArgs クラス
アセンブリ: System.Xml (system.xml.dll 内)



UnknownElements.xml という名前のファイルから Group という名前のクラスを逆シリアル化する例を次に示します。ファイル内の要素に対応するメンバがクラス内にない場合は、常に UnknownElement イベントが発生します。このサンプル コードを実行するには、UnknownElements.xml という名前のファイルに次の 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"> <GroupName>MyGroup</GroupName> <GroupSize>Large</GroupSize> <GroupNumber>444</GroupNumber> <GroupBase>West</GroupBase> </Group>
Imports System Imports System.IO Imports System.Xml.Serialization Imports System.Xml Imports System.Xml.Schema Imports Microsoft.VisualBasic 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("UnknownElements.xml") End Sub Private Sub Serializer_UnknownElement _ (sender As Object , e As XmlElementEventArgs) Console.WriteLine("Unknown Element") Console.WriteLine(ControlChars.Tab & e.Element.Name + " " & e.Element.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.UnknownElement, _ AddressOf Serializer_UnknownElement ' 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
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(); } }
#using <System.Xml.dll> #using <System.dll> using namespace System; using namespace System::IO; using namespace System::Xml::Serialization; using namespace System::Xml; using namespace System::Xml::Schema; public ref class Group { public: String^ GroupName; }; public ref class Test { private: void Serializer_UnknownElement( Object^ sender, XmlElementEventArgs^ e ) { Console::WriteLine( "Unknown Element" ); Console::Write( "\t {0}", e->Element->Name ); Console::WriteLine( " {0}", e->Element->InnerXml ); Console::WriteLine( "\t LineNumber: {0}", e->LineNumber ); Console::WriteLine( "\t LinePosition: {0}", e->LinePosition ); Group^ x = dynamic_cast<Group^>(e->ObjectBeingDeserialized); Console::WriteLine( x->GroupName ); Console::WriteLine( sender ); } public: void DeserializeObject( String^ filename ) { XmlSerializer^ ser = gcnew XmlSerializer( Group::typeid ); // Add a delegate to handle unknown element events. ser->UnknownElement += gcnew XmlElementEventHandler( this, &Test::Serializer_UnknownElement ); // A FileStream is needed to read the XML document. FileStream^ fs = gcnew FileStream( filename,FileMode::Open ); Group^ g = dynamic_cast<Group^>(ser->Deserialize( fs )); fs->Close(); } }; int main() { Test^ t = gcnew Test; // Deserialize the file containing unknown elements. t->DeserializeObject( "UnknownElements.xml" ); }
import System.*; import System.IO.*; import System.Xml.Serialization.*; import System.Xml.*; import System.Xml.Schema.*; public class Group { public String GroupName; } //Group public class Test { public static void main(String[] args) { Test t = new Test(); // Deserialize the file containing unknown elements. t.DeserializeObject("UnknownElements.xml"); } //main private void Serializer_UnknownElement(Object sender, XmlElementEventArgs e) { Console.WriteLine("Unknown Element"); Console.WriteLine("\t" + e.get_Element().get_Name() + " " + e.get_Element().get_InnerXml()); Console.WriteLine("\t LineNumber: " + e.get_LineNumber()); Console.WriteLine("\t LinePosition: " + e.get_LinePosition()); Group x = (Group)(e.get_ObjectBeingDeserialized()); Console.WriteLine(x.GroupName); Console.WriteLine(sender.ToString()); } //Serializer_UnknownElement private void DeserializeObject(String fileName) { XmlSerializer ser = new XmlSerializer(Group.class.ToType()); // Add a delegate to handle unknown element events. ser.add_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(); } //DeserializeObject } //Test

System.EventArgs
System.Xml.Serialization.XmlElementEventArgs


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlElementEventArgs プロパティ
XmlElementEventArgs メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

XmlElementEventArgs メンバ
UnknownElement イベントのデータを提供します。
XmlElementEventArgs データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- XmlElementEventArgsのページへのリンク