Procedura: Accedere ai dati di un modulo tramite il modello a oggetti di InfoPath 2003
Per estendere le funzionalità di un modulo di InfoPath, è spesso necessario accedere a livello di programmazione alle informazioni sul documento XML sottostante del modulo, accedere ai dati contenuti nel documento XML oppure eseguire alcune azioni sul documento XML. Il modello a oggetti di InfoPath consente di accedere al documento XML sottostante di un modulo e di modificarlo tramite l'interfaccia XDocument insieme all'interfaccia XDocumentsCollection.
L'interfaccia XDocument è una delle più utili tra quelle incluse nel modello a oggetti di InfoPath, in quanto offre un'ampia gamma di metodi, proprietà ed eventi che non soltanto consentono di interagire con il documento XML, ma eseguono anche molte delle azioni disponibili nell'interfaccia utente di InfoPath. In un progetto con codice gestito creato utilizzando il modello a oggetti compatibile con InfoPath 2003 viene automaticamente definita una variabile di tipo XDocument denominata thisXDocument
nel metodo _StartUp
della classe contenente i gestori eventi nel codice del modulo del progetto. È possibile utilizzare la variabile thisXDocument
nel codice del modulo per accedere all'interfaccia XDocument e ai relativi membri.
Informazioni generali sull'interfaccia XDocumentsCollection
L'interfaccia XDocumentsCollection implementa i metodi e le proprietà seguenti, che gli sviluppatori di moduli possono utilizzare per gestire gli oggetti XDocument contenuti nell'insieme.
Nome | Descrizione |
---|---|
Metodo Close |
Chiude il modulo specificato. |
Metodo New |
Crea un nuovo modulo basato su un modulo esistente. |
Metodo NewFromSolution |
Crea un nuovo modulo basato su un modello di modulo esistente. |
Metodo NewFromSolutionWithData |
Crea un nuovo modulo di InfoPath utilizzando i dati XML e il modello di modulo specificati. |
Metodo Open |
Apre il modulo specificato. |
Proprietà Count |
Restituisce il numero di oggetti XDocument contenuti nell'insieme. |
Proprietà Item |
Restituisce un riferimento all'oggetto XDocument specificato. |
Informazioni generali sull'interfaccia XDocument
L'interfaccia XDocument rende disponibili i metodi e le proprietà seguenti, che gli sviluppatori di moduli possono utilizzare per eseguire azioni su un documento XML sottostante di un modulo e interagire con esso.
Nome | Descrizione |
---|---|
Metodo GetDataVariable |
Restituisce il valore stringa di una variabile dati specificata. |
Metodo GetDOM |
Restituisce un riferimento al modello DOM (Document Object Model) XML associato all'oggetto DataObject specificato. |
Metodo ImportFile |
Importa o unisce il modulo specificato nel modulo aperto. |
Metodo PrintOut |
Stampa la visualizzazione corrente di un modulo. |
Metodo Query |
Recupera i dati dall'adattatore dati associato a un modulo. |
Metodo Save |
Salva il modulo aperto. |
Metodo SaveAs |
Salva il modulo aperto con il nome specificato. |
Metodo SetDataVariable |
Imposta il valore di una variabile dati specificata. |
Metodo Submit |
Invia un modulo nel modo specificato in modalità progettazione. |
Proprietà DataObjects |
Restituisce un riferimento all'insieme DataObjects. |
Proprietà DOM |
Restituisce un riferimento al modello DOM XML popolato con i dati XML di origine di un modulo. |
Proprietà Errors |
Restituisce un riferimento all'insieme Errors. |
Proprietà Extension |
Restituisce un riferimento a un oggetto che rappresenta tutte le funzioni e le variabili contenute in un file di codice del modulo. |
Proprietà IsDirty |
Restituisce un valore Boolean che indica se i dati del modulo sono stati modificati. |
Proprietà IsDOMReadOnly |
Restituisce un valore Boolean che indica se per il modello DOM XML è impostato l'attributo di sola lettura. |
Proprietà IsNew |
Restituisce un valore Boolean che indica se il modulo è stato salvato dopo la creazione. |
Proprietà IsReadOnly |
Restituisce un valore Boolean che indica se il modulo è in modalità di sola lettura. |
Proprietà IsSigned |
Restituisce un valore Boolean che indica se il modulo ha una firma digitale. |
Proprietà Language |
Specifica o restituisce il valore stringa della lingua utilizzata per il modulo. |
Proprietà QueryAdapter |
Restituisce un riferimento all'oggetto adattatore dati. |
Proprietà Solution |
Restituisce un riferimento all'oggetto Solution. |
Proprietà UI |
Restituisce un riferimento all'oggetto UI. |
Proprietà URI |
Restituisce il valore stringa contenente l'URI (Uniform Resource Identifier) del modulo. |
Proprietà View |
Restituisce un riferimento all'oggetto View. |
Proprietà ViewInfos |
Restituisce un riferimento all'insieme ViewInfos. |
Utilizzo dell'insieme XDocuments e delle interfacce XDocument
L'accesso all'interfaccia XDocumentsCollection viene eseguito tramite la proprietà XDocuments dell'interfaccia Application. In un progetto con codice gestito inizializzato tramite il modello a oggetti compatibile con InfoPath 2003 è possibile accedere all'interfaccia XDocumentsCollection utilizzando la variabile thisApplication
inizializzata nel metodo _StartUp
del codice del modulo del progetto. Nel codice seguente viene creata una variabile che fa riferimento all'interfaccia XDocumentsCollection del progetto corrente.
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 un progetto con codice gestito inizializzato tramite il modello a oggetti compatibile con InfoPath 2003 è possibile accedere all'interfaccia XDocument utilizzando la variabile thisXDocument
inizializzata nel metodo StartUp
del codice del modulo del progetto. Nel codice seguente viene utilizzata la variabile thisXDocument
per accedere all'interfaccia XDocument del progetto corrente per visualizzare l'URI del modulo aperto in un messaggio di avviso.
thisXDocument.UI.Alert(thisXDocument.URI);
thisXDocument.UI.Alert(thisXDocument.URI)
![]() |
---|
Quando si utilizza l'interfaccia XDocument per accedere al documento XML sottostante di un modulo, si accede al documento XML associato al modulo aperto. |
Una proprietà di fondamentale importanza dell'interfaccia XDocument è la proprietà DOM, che restituisce un riferimento al modello DOM XML popolato con i dati XML di origine di un modulo. Quando si utilizza la proprietà DOM, è possibile utilizzare qualsiasi proprietà e metodo supportati dal modello DOM XML. Ad esempio, nel codice seguente la proprietà xml del modello DOM XML viene utilizzata per restituire tutto il contenuto del documento XML sottostante di un modulo.
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)
![]() |
---|
Per ulteriori informazioni sul modello DOM XML e su tutte le proprietà e i metodi supportati, vedere la documentazione di MSXML 5.0 SDK nella Guida di Microsoft Script Editor (MSE). |