XmlForm 클래스

양식의 원본으로 사용하는 XML 문서를 나타냅니다.

상속 계층 구조

System.Object
  Microsoft.Office.InfoPath.XmlForm

네임스페이스:  Microsoft.Office.InfoPath
어셈블리:  Microsoft.Office.InfoPath(Microsoft.Office.InfoPath.dll)

구문

‘선언
Public MustInherit Class XmlForm
‘사용 방법
Dim instance As XmlForm
public abstract class XmlForm

주의

XmlForm 클래스는 InfoPath 관리 코드 개체 모델에서 양식의 원본으로 사용하는 XML 문서에 있는 XML 데이터와 프로그래밍 방식으로 상호 작용하고 해당 데이터를 조작하는 데 사용할 수 있는 속성, 메서드 및 이벤트를 제공하는 핵심 개체입니다.

XmlForm 개체는 Application 클래스의 XmlForms 속성을 사용하여 XmlFormCollection 클래스에서 액세스할 수 있으며 대부분의 경우 양식 서식 파일 비즈니스 논리를 사용하면 컬렉션을 거치지 않은 채 this(C#일 경우) 또는 Me(Visual Basic일 경우) 키워드를 사용하여 XmlForm 클래스 및 해당 멤버에 액세스하게 됩니다.

예를 들어 Loading 이벤트에 대한 이벤트 처리기의 다음 코드 예제에서는 this 또는 Me 키워드를 사용하여 XmlForm 클래스의 MainDataSourceNamespaceManager 속성에 액세스합니다. 이러한 속성을 System.Xml.XPath.XPathNavigator 클래스 인스턴스와 함께 사용하여 employee 필드로 이동하고(NamespaceManager 속성을 사용하여 네임스페이스 접두사 확인) 해당 필드를 현재 사용자의 사용자 이름으로 설정할 수 있습니다.

public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
   // Create XPathNavigator positioned at the root of the main data 
   // source.
   XPathNavigator myNav = this.MainDataSource.CreateNavigator()

   // Select employee field and set value to username.
   myNav.SelectSingleNode("//my:employee",this.NamespaceManager).
      SetValue(System.Environment.UserName);
}
Public Sub FormEvents_Loading(ByVal sender As Object, ByVal e As LoadingEventArgs)
   ' Create XPathNavigator positioned at the root of the main data 
   ' source.
   Dim myNav As XPathNavigator = Me.MainDataSource.CreateNavigator()

   ' Select employee field and set value to username.
   myNav.SelectSingleNode("//my:employee", Me.NamespaceManager). _
      SetValue(System.Environment.UserName)
End Sub
참고 사항참고 사항

양식 코드에서 XmlForm 클래스의 멤버에 액세스하기 위해 this 또는 Me 키워드를 명시적으로 참조할 필요는 없습니다. 예를 들어 앞에 나온 C# 및 Visual Basic 예제에서 MainDataSource 속성에 액세스하기 위한 코드 줄을 다음과 같이 작성할 수 있습니다.

XPathNavigator myNav = MainDataSource.CreateNavigator()
Dim myNav As XPathNavigator = MainDataSource.CreateNavigator()

그러나 코드 작성 시 this 또는 Me 키워드를 사용할 경우 양식 서식 파일의 FormCode 모듈에서 비즈니스 논리 코드를 작성할 때 XmlForm 클래스의 여러 멤버를 나열하는 IntelliSense 문 완성 기능을 쉽게 이용할 수 있습니다.

관리 코드를 사용할 경우 양식의 기본 데이터 원본을 나타내는 DataSource 클래스의 인스턴스를 반환하는 MainDataSource 속성을 통해 양식의 원본으로 사용하는 XML 데이터에 액세스합니다. 그런 다음 DataSource 클래스의 CreateNavigator 메서드를 사용하여 양식의 원본으로 사용하는 XML 문서의 루트에 배치되는 System.Xml.XPath.XPathNavigator 클래스의 인스턴스를 만듭니다. 그런 다음 XPathNavigator 클래스의 멤버를 사용하여 양식 데이터를 탐색하고 읽거나 쓸 수 있습니다. InfoPath 양식 코드의 XPathNavigator 클래스를 사용하는 방법에 대한 자세한 내용은 방법: XPathNavigator 및 XPathNodeIterator 클래스 사용을 참조하십시오.

XmlForm 클래스는 양식 및 원본으로 사용하는 XML 문서에 대한 정보를 구하는 데 사용할 수 있는 추가 속성도 제공합니다. 양식에서 인쇄, 저장 및 전송과 같은 다양한 작업을 수행하는 데 사용할 수 있는 메서드도 제공합니다. 양식 로드, 보기 전환, 병합 작업 등과 같은 양식 수준 이벤트는 FormEvents 클래스에 의해 구현됩니다. 또한 원본으로 사용하는 XML 문서 자체를 변경함으로써 발생되는 이벤트는 XmlEvents 클래스에 의해 구현됩니다.

XmlForm 개체는 InfoPath 개체 모델의 XmlFormCollectionWindow 클래스에서 액세스할 수 있습니다. 다음 표에는 XmlForm 개체를 사용할 수 있는 위치가 나열되어 있습니다.

이름

설명

XmlFormCollection

Application 개체에서 XmlForms 속성을 사용하여 액세스합니다. 포함된 XmlForm 개체에 액세스하기 위한 Item 속성과 Open() 메서드를 제공합니다.

Window

창과 관련된 XmlForm 개체에 액세스하기 위한 XmlForm 속성을 제공합니다.

Microsoft Office InfoPath 2003 Toolkit for Visual Studio .NET과 함께 InfoPath 2003 서비스 팩 1에 처음 도입된 InfoPath 2003 호환 관리 코드 개체 모델(Microsoft.Office.Interop.InfoPath.SemiTrust 네임스페이스의 형식과 멤버)에서 DataDOMEventObject, DocActionEventObject, DocEventObject, DocReturnEventObjectVersionUpgradeEventObject 클래스는 이벤트 중 양식의 원본으로 사용하는 XML 문서에 액세스하기 위한 XDocument 속성을 제공했습니다.

새 InfoPath 관리 코드 개체 모델(Microsoft.Office.InfoPath 네임스페이스의 형식과 멤버)에서 this(C#인 경우) 또는 Me(Visual Basic인 경우) 키워드를 사용하여 이벤트 처리기 및 양식 서식 파일 비즈니스 논리의 기타 코드에서 XmlForm 클래스 및 해당 멤버에 액세스합니다.

스레드 보안

이 형식의 모든 공용 static (Visual Basic의Shared ) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수도 있습니다.

참고 항목

참조

XmlForm 멤버

Microsoft.Office.InfoPath 네임스페이스