Quick Hit: Čitanje InfoPath XML izravno iz SPListItem u sustavu SharePoint

I’m been working on a project where I need to extract attachments from an InfoPath form. There are some good resources for parsing InfoPath forms (koji su samo XML datoteke, tako da je zapravo vrlo jednostavno).

Dok sam bio izgradnju projekta, I started by downloading an InfoPath form and saving it to my local hard drive. My c# code was reading directly from that instance. Međutim, the InfoPath forms are really living inside a SharePoint forms library. I did a little half hearted searching to find out how to read it directly from the library and almost gave up, in which case I would have saved the form to a local temp directory and read it from there. Međutim, there’s no need to go through those hoops as you can read it directly from the library. This little snippet shows how:

/// Class definicija stvari ovdje, uključujući:
privatni SPFile mySharePointFile; /* Dio je SPList */
// Više kod ide ovdje, a unutar metode u klasi imamo:
XmlTextReader textReader;
textReader = novi XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = WhitespaceHandling.Nijedan;

textReader.Read();

// Ako čvor ima vrijednost

dok (textReader.Read())
{

… and so on and so forth …

Oni su ključni malo iznad je da možemo pročitati InfoPath izravno putem OpenBinaryStream() method call on the SPFile as a parameter to the constructor on XmlTextReader. It works great.

</kraj>

Pretplatite se na moj blog.

Slijedite me na Twitter-u http://www.twitter.com/pagalvin

Technorati Tags:

Jedna misao o „Quick Hit: Čitanje InfoPath XML izravno iz SPListItem u sustavu SharePoint

  1. nesreen

    bok,
    Trebam pomoć u ovom , Imam Sharepoint 2007 Mjesto i InfoPath s ponavljajuću tablicu , što trebam učiniti je jednom Obrazac se sprema u biblioteku sustava SharePoint oblici moram petlje i spremanje podataka na popis pomoću obrasca SP rukovatelj knjižnica događaj.

    Svaka pomoć je dobrodošla stvarno.

    Hvala

Dopust jedan Odgovor

Vaša email adresa neće biti objavljena. obavezna polja su označena *