Compartir a través de


Acceso a datos de formulario mediante el modelo de objetos de InfoPath 2003

Si desea ampliar la funcionalidad de un formulario de InfoPath, con frecuencia es preciso tener acceso mediante programación a la información sobre el documento XML subyacente del formulario, tener acceso a los datos contenidos en dicho documento o realizar alguna acción en él. El modelo de objetos de InfoPath permite obtener acceso al documento XML subyacente de un formulario y manipularlo utilizando la interfaz XDocument en asociación con la interfaz XDocumentsCollection .

La interfaz XDocument es una de las más útiles del modelo de objetos de InfoPath, porque proporciona gran variedad de propiedades, métodos y eventos que no sólo interaccionan con el documento XML subyacente del formulario, sino que, además, realizan muchas de las acciones disponibles en la interfaz de usuario de InfoPath. En un proyecto de código administrado creado con el modelo de objetos compatible con InfoPath 2003, una variable de tipo XDocument denominada thisXDocument se define automáticamente en el _StartUp método de la clase que contiene controladores de eventos en el código de formulario del proyecto. Puede usar la variable en el thisXDocument código del formulario para acceder a la interfaz XDocument y a sus miembros.

Información general sobre la interfaz XDocumentsCollection

La interfaz XDocumentsCollection proporciona los siguientes métodos y propiedades que los programadores de formularios pueden utilizar para administrar los objetos XDocument que contiene la colección.

Name Descripción
Método Close
Cierra el formulario especificado.
Nuevo método
Crea un nuevo formulario basándose en un formulario existente.
NewFromSolution ( método)
Crea un formulario nuevo basado en una plantilla de formulario existente.
NewFromSolutionWithData ( método)
Crea un nuevo formulario de InfoPath utilizando los datos XML y la plantilla de formulario especificados.
Open (método)
Abre el formulario especificado.
Propiedad Count
Devuelve el número de objetos XDocument que contiene la colección.
Propiedad Item
Devuelve una referencia al objeto XDocument especificado.

Información general sobre la interfaz XDocument

La interfaz XDocument proporciona los siguientes métodos y propiedades que los programadores de formularios pueden utilizar para interactuar con el documento XML subyacente de un formulario o realizar acciones en él.

Name Descripción
Método GetDataVariable
Devuelve el valor de cadena de una variable de datos especificada.
Método GetDOM
Devuelve una referencia al modelo de objetos de documento (DOM) XML asociado al objeto DataObject.
ImportFile ( método)
Importa (o combina) el formulario especificado con el que está abierto.
PrintOut (método)
Imprime la vista actual del formulario.
Método query
Recupera datos del adaptador de datos asociado al formulario.
Save ( método)
Guarda el formulario abierto en ese momento.
SaveAs (método)
Guarda el documento abierto con el nombre indicado.
SetDataVariable ( método)
Establece el valor de una variable de datos especificada.
Método Submit
Envía un formulario de acuerdo con la operación de envío establecida en el modo de diseño.
DataObjects (propiedad)
Devuelve una referencia a la colección DataObjects.
DOM (propiedad)
Devuelve una referencia al XML DOM que se rellena con los datos XML de origen del formulario.
Errors (propiedad)
Devuelve una referencia a la colección Errors.
Propiedad Extension
Devuelve una referencia a un objeto que representa todas las funciones y variables que contiene un archivo de código de formulario.
IsDirty (propiedad)
Devuelve un valor Booleanbooleano que indica si se han realizado cambios en los datos del formulario.
IsDOMReadOnly (propiedad)
Devuelve un valor Booleanbooleano que indica si el XML DOM es de sólo lectura.
IsNew (propiedad)
Devuelve un valor Booleanbooleano que indica si el formulario se ha guardado después de su creación
IsReadOnly (propiedad)
Devuelve un valor Booleanbooleano que indica si el formulario está en modo de sólo lectura
IsSigned (propiedad)
Devuelve un valor Booleanbooleano que indica si el formulario está firmado digitalmente.
Language (propiedad)
Especifica o devuelve el valor de cadena del lenguaje utilizado para el formulario.
QueryAdapter (propiedad)
Devuelve una referencia al objeto adaptador de datos.
Solution (propiedad)
Devuelve una referencia al objeto Solution.
Ui (propiedad)
Devuelve una referencia al objeto UI.
Uri (propiedad)
Devuelve un valor de cadena que contiene el identificador de recursos uniforme (URI) del formulario.
View (propiedad)
Devuelve una referencia al objeto View.
ViewInfos (propiedad)
Devuelve una referencia a la colección ViewInfos.

Uso de las interfaces XDocuments Collection y XDocument

El acceso a la interfaz XDocumentsCollection se obtiene a través de la propiedad XDocuments de la interfaz Application . En un proyecto de código administrado creado con el modelo de objetos compatible con InfoPath 2003, puede acceder a la interfaz XDocumentsCollection mediante la thisApplication variable que se crea una instancia en el _StartUp método del código de formulario del proyecto. En el siguiente ejemplo de código, se crea una variable que hace referencia a la interfaz XDocumentsCollection del proyecto actual.

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.

En un proyecto de código administrado creado con el modelo de objetos compatible con InfoPath 2003, puede acceder a la interfaz XDocument mediante la thisXDocument variable que se crea una instancia en el StartUp método del código de formulario del proyecto. La siguiente línea de código usa la thisXDocument variable para acceder a la interfaz XDocument del proyecto actual para mostrar el URI del formulario abierto actualmente en un mensaje de alerta.

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

Nota:

[!NOTA] Cuando se utiliza una interfaz XDocument para tener acceso al documento XML subyacente de un formulario, se tiene acceso al documento XML asociado al formulario que esté abierto en ese momento.

Una propiedad clave de la interfaz XDocument es la propiedad DOM. Esta propiedad devuelve una referencia al XML DOM que contiene los datos XML de origen del formulario. Cuando se utiliza la propiedad DOM, es posible usar cualquiera de las propiedades y los métodos admitidos por el XML DOM. Por ejemplo, en el siguiente código se utiliza la propiedad xml del XML DOM para mostrar todo el contenido del documento XML subyacente de un formulario:

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)

Nota:

[!NOTA] Para obtener más información sobre DOM XML y todas las propiedades y los métodos con los que es compatible, vea el SDK de MSXML en MSDN.