Golpe rápido: Leer XML de InfoPath directamente desde un SPListItem en SharePoint

Yo soy estado trabajando en un proyecto donde necesito extraer los archivos adjuntos de un formulario de InfoPath. Hay algunos buenos recursos para el análisis de formularios de InfoPath (que son sólo archivos XML, por lo que es realmente muy fácil).

Mientras estaba construyendo el proyecto, Comencé a descargar un formulario de InfoPath y guardando en mi disco duro local. Estaba leyendo mi código c# directamente en esa instancia. Sin embargo, las formas de InfoPath están realmente viviendo dentro de una biblioteca de formularios de SharePoint. Hice un poco medio corazón buscando saber como leer directamente desde la biblioteca y dio casi para arriba, en cuyo caso habría guardado el formulario a un directorio temporal local y leer desde allí. Sin embargo, no hay que pasar por los aros como se puede leer directamente de la biblioteca. Este pequeño fragmento de código muestra cómo:

/// Cosas de la definición de clase aquí, incluyendo:
privada SPFile mySharePointFile; /* Parte de un SPList */
// Aquí va el código más y dentro de un método de la clase tenemos:
XmlTextReader textReader;
textReader = Nuevo XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = WhitespaceHandling.Ninguno;

textReader.Read();

// Si el nodo tiene valor

mientras (textReader.Read())
{

... y así sucesivamente y así sucesivamente...

Clave de bits arriba es que podemos leer el InfoPath directamente a través de la OpenBinaryStream() método de llamada en el SPFile como parámetro al constructor de XmlTextReader. Funciona muy bien.

</final>

Suscribirse a mi blog.

Sígueme en Twitter en http://www.twitter.com/pagalvin

Etiquetas de Technorati:

Un pensamiento en “Golpe rápido: Leer XML de InfoPath directamente desde un SPListItem en SharePoint

  1. Nesreen

    Hola,
    Necesito ayuda en esto , Tengo sharepoint 2007 sitio y infopath con una tabla extensible , ¿Qué tengo que hacer es una vez que el formulario se guarda en la biblioteca de formularios de sharepoint de bucle y guardar los datos en una lista utilizando el controlador de eventos de biblioteca de formulario SP.

    Cualquier ayuda es muy apreciada.

    Gracias

    Respuesta

Contesta

su dirección de correo electrónico no será publicada. Los campos necesarios están marcados *