방법: InfoPath 2003 개체 모델을 사용하여 양식 데이터 액세스
InfoPath 양식의 기능을 확장하려는 경우 양식의 원본으로 사용하는 XML 문서에 대한 정보에 프로그래밍 방식으로 액세스하거나, XML 문서에 포함된 데이터에 액세스하거나, XML 문서에 대해 특정 작업을 실행해야 합니다. InfoPath 개체 모델을 사용하면 XDocumentsCollection 인터페이스와 함께 XDocument 인터페이스를 사용하여 양식의 원본으로 사용하는 XML 문서에 액세스하고 해당 문서를 조작할 수 있습니다.
XDocument 인터페이스는 양식의 원본으로 사용하는 XML 문서와 상호 작용하고 InfoPath 사용자 인터페이스의 많은 작업을 실행하는 다양한 속성, 메서드, 이벤트 등을 제공하므로 InfoPath 개체 모델에서 가장 유용한 형식 중 하나입니다. InfoPath 2003 호환 개체 모델을 사용하는 관리 코드 프로젝트에서는 프로젝트 양식 코드에 이벤트 처리기가 포함된 클래스의 _StartUp
메서드에 XDocument 형식의 변수 thisXDocument
가 자동으로 정의됩니다. 그러면 양식의 코드에서 이 thisXDocument
변수를 사용하여 XDocument 인터페이스 및 해당 구성원에 액세스할 수 있습니다.
XDocumentsCollection 인터페이스 개요
XDocumentsCollection 인터페이스는 양식 개발자가 컬렉션에 포함된 XDocument 개체를 관리하는 데 사용할 수 있는 다음과 같은 메서드와 속성을 제공합니다.
이름 | 설명 |
---|---|
Close 메서드 |
지정된 양식을 닫습니다. |
New 메서드 |
기존 양식을 기초로 새 양식을 만듭니다. |
NewFromSolution 메서드 |
기존 양식 서식 파일을 기초로 새 양식을 만듭니다. |
지정된 XML 데이터와 양식 서식 파일을 사용하여 새 InfoPath 양식을 만듭니다. |
|
Open 메서드 |
지정된 양식을 엽니다. |
Count 속성 |
컬렉션에 포함된 XDocument 개체의 수를 반환합니다. |
Item 속성 |
지정된 XDocument 개체에 대한 참조를 반환합니다. |
XDocument 인터페이스 개요
XDocument 인터페이스는 양식 개발자가 양식의 원본 XML 문서와 상호 작용하고 관련 작업을 수행하는 데 사용할 수 있는 다음과 같은 메서드와 속성을 제공합니다.
이름 | 설명 |
---|---|
GetDataVariable 메서드 |
지정된 데이터 변수의 문자열 값을 반환합니다. |
GetDOM 메서드 |
지정된 DataObject 개체에 연결된 XML DOM(Document Object Model)에 대한 참조를 반환합니다. |
ImportFile 메서드 |
지정된 양식을 현재 열려 있는 양식에 가져오거나 병합합니다. |
PrintOut 메서드 |
양식의 현재 보기를 인쇄합니다. |
Query 메서드 |
양식의 연결된 데이터 어댑터에서 데이터를 검색합니다. |
Save 메서드 |
현재 열려 있는 양식을 저장합니다. |
SaveAs 메서드 |
현재 열려 있는 양식을 지정된 이름으로 저장합니다. |
SetDataVariable 메서드 |
지정된 데이터 변수의 값을 설정합니다. |
Submit 메서드 |
디자인 모드에서 설정한 전송 작업에 따라 양식을 전송합니다. |
DataObjects 속성 |
DataObjects 컬렉션에 대한 참조를 반환합니다. |
DOM 속성 |
양식의 원본 XML 데이터로 채워지는 XML DOM에 대한 참조를 반환합니다. |
Errors 속성 |
Errors 컬렉션에 대한 참조를 반환합니다. |
Extension 속성 |
양식 코드 파일에 포함된 모든 함수와 변수를 나타내는 개체에 대한 참조를 반환합니다. |
IsDirty 속성 |
양식의 데이터가 변경되었는지 여부를 나타내는 Boolean 값을 반환합니다. |
XML DOM이 읽기 전용으로 설정되어 있는지 여부를 나타내는 Boolean 값을 반환합니다. |
|
IsNew 속성 |
양식을 만든 후에 저장했는지 여부를 나타내는 Boolean 값을 반환합니다. |
IsReadOnly 속성 |
양식이 읽기 전용 모드에 있는지 여부를 나타내는 Boolean 값을 반환합니다. |
IsSigned 속성 |
양식이 디지털 서명되었는지 여부를 나타내는 Boolean 값을 반환합니다. |
Language 속성 |
양식에 사용되는 언어의 문자열 값을 지정하거나 반환합니다. |
QueryAdapter 속성 |
데이터 어댑터 개체에 대한 참조를 반환합니다. |
Solution 속성 |
Solution 개체에 대한 참조를 반환합니다. |
UI 속성 |
UI 개체에 대한 참조를 반환합니다. |
URI 속성 |
양식의 URI(Uniform Resource Identifier)를 포함하는 문자열 값을 반환합니다. |
View 속성 |
View 개체에 대한 참조를 반환합니다. |
ViewInfos 속성 |
ViewInfos 컬렉션에 대한 참조를 반환합니다. |
XDocuments 컬렉션 및 XDocument 인터페이스 사용
XDocumentsCollection 인터페이스는 Application 인터페이스의 XDocuments 속성을 통해 액세스합니다. InfoPath 2003 호환 개체 모델을 사용하여 만든 관리 코드 프로젝트에서는 프로젝트 양식 코드의 _StartUp
메서드에서 인스턴스화된 thisApplication
변수를 사용하여 XDocumentsCollection 인터페이스에 액세스할 수 있습니다. 다음 코드 줄에서는 현재 프로젝트의 XDocumentsCollection 인터페이스를 참조하는 변수를 만듭니다.
XDocumentsCollection xdocs;
xdocs = thisApplication.XDocuments;
// Write code here to work with the XDocumentsCollection.
Dim xdocs As XDocumentsCollection
xdocs = thisApplication.XDocuments
' Write code here to work with the XDocumentsCollection.
InfoPath 2003 호환 개체 모델을 사용하여 만든 관리 코드 프로젝트에서는 프로젝트 양식 코드의 StartUp
메서드에서 인스턴스화된 thisXDocument
변수를 사용하여 XDocument 인터페이스에 액세스할 수 있습니다. 다음 코드 줄에서는 thisXDocument
변수를 사용하여 현재 프로젝트의 XDocument 인터페이스에 액세스한 후 현재 열려 있는 양식의 URI를 경고 메시지에 표시합니다.
thisXDocument.UI.Alert(thisXDocument.URI);
thisXDocument.UI.Alert(thisXDocument.URI)
![]() |
---|
XDocument 인터페이스를 사용하여 양식의 원본 XML 문서에 액세스할 때는 현재 열려 있는 양식에 연결된 XML 문서에 액세스하게 됩니다. |
XDocument 인터페이스의 핵심 속성은 DOM 속성입니다. 이 속성은 양식의 원본 XML 데이터로 채워지는 XML DOM에 대한 참조를 반환합니다. DOM 속성을 사용하면 XML DOM에서 지원하는 속성과 메서드를 모두 사용할 수 있습니다. 예를 들어 다음 코드에서는 XML DOM의 xml 속성을 사용하여 양식의 원본 XML 문서의 내용을 모두 반환합니다.
string xmldoc;
xmldoc = thisXDocument.DOM.xml;
// Display xml.
thisXDocument.UI.Alert(xmldoc);
Dim xmldoc As String
xmldoc = thisXDocument.DOM.xml
' Display xml.
thisXDocument.UI.Alert(xmldoc)
![]() |
---|
XML DOM과 지원되는 모든 속성 및 메서드에 대한 자세한 내용은 MSE(Microsoft Script Editor) 도움말 시스템의 MSXML 5.0 SDK 설명서를 참고하십시오. |