XmlElementEventArgs 클래스
TOC
콘텐츠의 테이블 축소
콘텐츠의 테이블 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

XmlElementEventArgs 클래스

 

UnknownElement 이벤트에 대한 데이터를 제공합니다.

네임스페이스:   System.Xml.Serialization
어셈블리:  System.Xml.dll의 System.Xml

System.Object
System.EventArgs
System.Xml.Serialization.XmlElementEventArgs

public class XmlElementEventArgs : EventArgs

이름설명
System_CAPS_pubpropertyElement

알 수 없는 XML 요소를 나타내는 개체를 가져옵니다.

System_CAPS_pubpropertyExpectedElements

XML 문서 인스턴스에 있어야 하는 XML 요소 이름의 쉼표로 구분된 목록을 가져옵니다.

System_CAPS_pubpropertyLineNumber

XML 판독기가 XmlTextReader인 경우 알 수 없는 요소가 발견된 줄 번호를 가져옵니다.

System_CAPS_pubpropertyLinePosition

XML 판독기가 XmlTextReader인 경우 알 수 없는 요소가 발견된 줄 번호를 가져옵니다.

System_CAPS_pubpropertyObjectBeingDeserialized

XmlSerializer가 deserialize하고 있는 개체를 가져옵니다.

이름설명
System_CAPS_pubmethodEquals(Object)

지정한 개체가 현재 개체와 같은지 여부를 확인합니다. (Object에서 상속됨.)

System_CAPS_protmethodFinalize()

개체가 가비지 수집자에서 회수되기 전에, 해당 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨.)

System_CAPS_pubmethodGetHashCode()

기본 해시 함수로 작동합니다. (Object에서 상속됨.)

System_CAPS_pubmethodGetType()

현재 인스턴스의 Type을 가져옵니다.(Object에서 상속됨.)

System_CAPS_protmethodMemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.(Object에서 상속됨.)

System_CAPS_pubmethodToString()

현재 개체를 나타내는 문자열을 반환합니다.(Object에서 상속됨.)

이벤트 처리에 대한 자세한 내용은 이벤트 및 대리자이벤트 발생시키기를 참조하십시오.

UnknownElement 이벤트는 Deserialize 메서드를 호출하는 경우에만 발생합니다.

다음 예제에서는 UnknownElements.xml 파일에서 Group 클래스를 deserialize합니다.이 클래스에 해당 멤버가 없는 파일에서 요소가 발견될 때마다 UnknownElement 이벤트가 발생합니다.이 예제를 실행하려면 다음 XML 코드를 UnknownElements.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>
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();
   	}
}

.NET Framework
1.1 이후에 사용 가능

이 형식의 모든 public static (Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

맨 위로 이동
표시:
© 2016 Microsoft