Freigeben über


Vorgehensweise: Zugreifen auf Formulardaten mit dem InfoPath 2003-Objektmodell

Wenn Sie die Funktionalität eines InfoPath-Formulars erweitern möchten, ist es häufig notwendig, programmgesteuert auf Informationen zu dem dem Formular zugrunde liegenden XML-Dokument zuzugreifen, auf die Daten zuzugreifen, die das XML-Dokument enthält, oder Aktionen im XML-Dokument auszuführen. Das InfoPath-Objektmodell unterstützt das Zugreifen und Bearbeiten des einem Formular zugrunde liegenden XML-Dokuments mithilfe der XDocument-Schnittstelle in Kombination mit der XDocumentsCollection-Schnittstelle.

Die XDocument-Schnittstelle gehört zu den nützlichsten Typen innerhalb des InfoPath-Objektmodells, da sie eine Vielzahl von Eigenschaften, Methoden und Ereignissen bereitstellt, die nicht nur mit dem einem Formular zugrunde liegenden XML-Dokument zusammenarbeiten, sondern auch viele der Aktionen ausführen, die über die InfoPath-Benutzeroberfläche verfügbar sind. In einem Projekt mit verwaltetem Code, das mit dem InfoPath 2003-kompatiblen Objektmodell erstellt wurde, wird automatisch eine Variable vom Typ XDocument mit der Bezeichnung thisXDocument in der _StartUp-Methode der Klasse definiert, die Ereignishandler für den Formularcode für das Projekt enthält. Sie können mithilfe der thisXDocument-Variablen im Formularcode auf die XDocument-Schnittstelle und deren Elemente zugreifen.

Übersicht über die XDocumentsCollection-Schnittstelle

Die XDocumentsCollection-Schnittstelle stellt die folgenden Methoden und Eigenschaften bereit, mit deren Hilfe Entwickler die in der Auflistung enthaltenen XDocument-Objekte verwalten können.

Name

Beschreibung

Close-Methode

Schließt das angegebene Formular.

New-Methode

Erstellt ein neues Formular, das auf einem vorhandenen Formular basiert.

NewFromSolution-Methode

Erstellt ein neues Formular, das auf einer vorhandenen Formularvorlage basiert.

NewFromSolutionWithData-Methode

Erstellt ein neues InfoPath-Formular mithilfe der angegebenen XML-Daten und der Formularvorlage.

Open-Methode

Öffnet das angegebene Formular.

Count-Eigenschaft

Gibt die Anzahl der XDocument-Objekte zurück, die in der Auflistung enthalten sind.

Item-Eigenschaft

Gibt einen Verweis auf das angegebene XDocument-Objekt zurück.

Übersicht über die XDocument-Schnittstelle

Die XDocument-Schnittstelle stellt die folgenden Methoden und Eigenschaften bereit, die Entwickler für die Interaktion mit dem einem Formular zugrunde liegenden XML-Dokument und für die Ausführung von Aktionen in diesem Dokument verwenden können.

Name

Beschreibung

GetDataVariable-Methode

Gibt den Zeichenfolgenwert einer angegebenen Datenvariablen zurück.

GetDOM-Methode

Gibt einen Verweis auf das XML-DOM (Document Object Model) zurück, das dem angegebenen DataObject-Objekt zugeordnet ist.

ImportFile-Methode

Importiert das angegebene Formular in das derzeit geöffnete Formular (oder führt es mit diesem zusammen).

PrintOut-Methode

Druckt die aktuelle Ansicht eines Formulars.

Query-Methode

Ruft Daten von dem einem Formular zugeordneten Datenadapter ab.

Save-Methode

Speichert das derzeit geöffnete Formular.

SaveAs-Methode

Speichert das derzeit geöffnete Formular unter dem angegebenen Namen.

SetDataVariable-Methode

Legt den Wert einer angegebenen Datenvariablen fest.

Submit-Methode

Sendet ein Formular gemäß des Sendevorgangs, die im Entwurfsmodus festgelegt wurde.

DataObjects-Eigenschaft

Gibt einen Verweis auf die DataObjects-Auflistung zurück.

DOM -Eigenschaft

Gibt einen Verweis auf das XML-DOM zurück, das mit den XML-Quelldaten eines Formulars aufgefüllt wird.

Errors-Eigenschaft

Gibt einen Verweis auf die Errors-Auflistung zurück.

Extension-Eigenschaft

Gibt einen Verweis auf ein Objekt zurück, das alle Funktionen und Variablen darstellt, die in der Codedatei eines Formulars enthalten sind.

IsDirty-Eigenschaft

Gibt einen Wert vom Typ Boolean zurück, der angibt, ob die Daten im Formular geändert wurden.

IsDOMReadOnly-Eigenschaft

Gibt einen Wert vom Typ Boolean zurück, der angibt, ob das XML-DOM schreibgeschützt ist.

IsNew-Eigenschaft

Gibt einen Wert vom Typ Boolean zurück, der angibt, ob das Formular nach dem Erstellen gespeichert wurde.

IsReadOnly-Eigenschaft

Gibt einen Wert vom Typ Boolean zurück, der angibt, ob sich das Formular im schreibgeschützten Modus befindet.

IsSigned-Eigenschaft

Gibt einen Wert vom Typ Boolean zurück, der angibt, ob ein Formular digital signiert ist.

Language-Eigenschaft

Gibt den Zeichenfolgenwert der für das Formular verwendeten Sprache an oder zurück.

QueryAdapter-Eigenschaft

Gibt einen Verweis auf das Datenadapterobjekt zurück.

Solution-Eigenschaft

Gibt einen Verweis auf das Solution-Objekt zurück.

UI-Eigenschaft

Gibt einen Verweis auf das UI-Objekt zurück.

URI-Eigenschaft

Gibt einen Zeichenfolgenwert zurück, der den URI (Uniform Resource Identifier) des Formulars enthält.

View-Eigenschaft

Gibt einen Verweis auf das View-Objekt zurück.

ViewInfos-Eigenschaft

Gibt einen Verweis auf die ViewInfos-Auflistung zurück.

Verwenden der XDocuments-Auflistung und der XDocument-Schnittstellen

Der Zugriff auf die XDocumentsCollection-Schnittstelle erfolgt über die XDocuments-Eigenschaft der Application-Schnittstelle. In einem mit dem InfoPath 2003-kompatiblen Objektmodell erstellten Projekt mit verwaltetem Code können Sie mithilfe der thisApplication-Variablen, die in der _StartUp-Methode des Projektformularcodes instanziiert ist, auf die XDocumentsCollection-Schnittstelle zugreifen. Über die folgenden Codezeilen wird eine Variable erstellt, die auf die XDocumentsCollection-Schnittstelle des aktuellen Projekts verweist.

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.

In einem mit dem InfoPath 2003-kompatiblen Objektmodell erstellten Projekt mit verwaltetem Code können Sie auf die XDocument-Schnittstelle mithilfe der thisXDocument-Variablen zugreifen, die in der StartUp-Methode des Projektformularcodes instanziiert ist. In der folgenden Codezeile wird die thisXDocument-Variable für den Zugriff auf die XDocument-Schnittstelle des aktuellen Projekts verwendet, um den URI des zurzeit geöffneten Formulars in einer Warnmeldung anzuzeigen.

thisXDocument.UI.Alert(thisXDocument.URI);
thisXDocument.UI.Alert(thisXDocument.URI)

Hinweis

Wenn Sie das XDocument-Objekt verwenden, um auf das einem Formular zugrunde liegende XML-Dokument zuzugreifen, greifen Sie auf das XML-Dokument zu, das dem derzeit geöffneten Formular zugeordnet ist.

Eine Schlüsseleigenschaft der XDocument-Schnittstelle ist die DOM-Eigenschaft. Diese Eigenschaft gibt einen Verweis auf das XML-DOM zurück, das mit den XML-Quelldaten eines Formulars aufgefüllt wird. Wenn Sie die DOM-Eigenschaft verwenden, können Sie jede der Eigenschaften und Methoden verwenden, die vom XML-DOM unterstützt werden. So verwendet der folgende Code beispielsweise die xml -Eigenschaft des XML-DOM, um alle Inhalte des einem Formular zugrunde liegenden XML-Dokuments zurückzugeben und anzuzeigen.

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)

Hinweis

Weitere Informationen zum XML-DOM und allen unterstützten Eigenschaften und Methoden finden Sie in der Dokumentation zum MSXML-SDK auf MSDN.