Hit cepat: Membaca InfoPath XML langsung dari objek SPListItem di SharePoint

Aku telah bekerja pada sebuah proyek di mana saya perlu untuk mengekstrak lampiran dari sebuah bentuk InfoPath. Ada beberapa sumber yang baik untuk parsing bentuk InfoPath (yang hanya file XML, Jadi itu benar-benar sangat mudah).

Sementara aku sedang membangun proyek, Aku mulai dengan men-download sebuah bentuk InfoPath dan menyimpannya ke hard drive lokal. C# kode membaca langsung dari contoh. Namun, bentuk InfoPath benar-benar hidup dalam sebuah SharePoint formulir Perpustakaan. Aku melakukan sedikit setengah hati mencari untuk mengetahui bagaimana untuk membacanya secara langsung dari perpustakaan dan hampir menyerah, dalam hal ini saya akan disimpan bentuk ke direktori temp lokal dan membacanya dari sana. Namun, tidak perlu untuk pergi melalui lingkaran orang-orang seperti Anda dapat membacanya secara langsung dari Perpustakaan. Potongan kecil ini menunjukkan bagaimana:

/// Kelas definisi hal di sini, termasuk:
swasta SPFile mySharePointFile; /* Bagian dari SPList */
// Kode lebih pergi di sini dan di dalam metode kelas kami memiliki:
XmlTextReader textReader;
textReader = baru XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = WhitespaceHandling.Tidak ada;

textReader.Read();

// Jika simpul memiliki nilai

Sementara (textReader.Read())
{

... dan seterusnya dan sebagainya...

Mereka kunci sedikit di atas adalah bahwa kita dapat membaca InfoPath langsung melalui OpenBinaryStream() metode memanggil SPFile sebagai parameter ke konstruktor pada XmlTextReader. Karya besar.

</akhir>

Berlangganan ke blog saya.

Ikuti saya di kegugupan di http://www.twitter.com/pagalvin

Technorati Tags:

Satu berpikir tentang “Hit cepat: Membaca InfoPath XML langsung dari objek SPListItem di SharePoint

  1. dari Esti

    Hai,
    Aku butuh bantuan dalam hal ini , Aku punya sharepoint 2007 situs dan infopath dengan meja berulang , apa yang harus saya lakukan adalah setelah bentuk disimpan ke sharepoint bentuk perpustakaan saya perlu loop dan menyimpan data ke daftar menggunakan SP bentuk Perpustakaan event handler.

    Bantuan benar-benar dihargai.

    Terima kasih

    Balasan

Tinggalkan balasan

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai *