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 5.0-SDK im Hilfesystem für den Microsoft Skript-Editor (MSE). |