Rapido successo: Lettura di InfoPath XML direttamente da un SPListItem in SharePoint

Sto lavorando su un progetto dove ho bisogno di estrarre gli allegati da un modulo di InfoPath. Ci sono alcune buone risorse per l'analisi di moduli di InfoPath (che sono solo i file XML, così è in realtà abbastanza facile).

Mentre stavo costruendo il progetto, Ho iniziato a scaricare un modulo di InfoPath e salvandolo sul mio disco rigido locale. Il mio codice c# stava leggendo direttamente da tale istanza. Tuttavia, i moduli di InfoPath sono davvero vivere all'interno di una raccolta moduli di SharePoint. Ho fatto un piccolo mezzo cuore ricerca per trovare il modo di leggerlo direttamente dalla libreria e quasi rinunciato, nel qual caso avrei salvato il modulo in una directory temporanea locale e leggerlo da lì. Tuttavia, non c'è nessun bisogno di andare attraverso quei cerchi come si può leggere direttamente dalla libreria. Questo piccolo frammento di codice viene illustrato come:

/// Roba di definizione classe qui, compresi:
privato SPFile mySharePointFile; /* Parte di un SPList */
// Più il codice va qui e all'interno di un metodo della classe abbiamo:
XmlTextReader textReader;
textReader = Nuovo XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = WhitespaceHandling.Nessuno;

textReader.Read();

// Se il nodo ha valore

mentre (textReader.Read())
{

... e così via e così via...

Essi chiave bit sopra è che possiamo leggere InfoPath direttamente tramite il OpenBinaryStream() chiamata di metodo sul SPFile come parametro al Costruttore XmlTextReader. Funziona benissimo.

</fine>

Iscriviti al mio blog.

Seguimi su Twitter a http://www.twitter.com/pagalvin

Technorati Tags:

Un pensiero su "Rapido successo: Lettura di InfoPath XML direttamente da un SPListItem in SharePoint

  1. Valentina

    Ciao,
    Ho bisogno di aiuto in questo , Ho sharepoint 2007 sito e infopath con una tabella ripetuta , che cosa devo fare è una volta che il modulo viene salvato per la libreria di moduli di sharepoint che ho bisogno di loop e salvare i dati in un elenco utilizzando il gestore di evento SP modulo libreria.

    Qualsiasi aiuto è molto apprezzato.

    Grazie

    Risposta

Lasciare una risposta

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *