Quick Hit: Luettaessa InfoPath XML SPListItem SharePointissa

Olen ollut työskentelee projektissa, jossa minun täytyy ote liitetiedostoja alkaen InfoPath-lomake. On olemassa hyviä resursseja jäsentämiseen InfoPath-lomakkeet (Mitkä ovat vain XML-tiedostoja, niin on oikeastaan aika helppo).

Kun olin rakennuksen hankkeen, Aloitin lataamalla InfoPath-lomakkeen ja tallennat sen paikalliselle kiintolevylle. C#-koodia luki suoraan että esimerkiksi. Kuitenkin, InfoPath-lomakkeita todella elävät sisällä SharePoint-lomakekirjastoon. Tein vähän puoli sydämestä hakuja selvittää, miten lukea suoraan kirjastosta ja melkein luopui, siinä tapauksessa olisin tallentanut sitten lomakkeen paikalliseen temp-kansioon ja lukea sieltä. Kuitenkin, ei ole tarpeen käydä läpi ne vanteet kuin voit lukea sen suoraan kirjastosta. Tämä pieni pätkä osoittaa miten:

/// Luokan määritelmä juttuja täällä, mukaan lukien:
Yksityinen SPFile mySharePointFile; /* Osa SPList */
// Koodia menee täällä ja menetelmään luokka meillä:
XmlTextReader TextReader-määritystä;
TextReader-kohteesta = Uusi XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = WhitespaceHandling.Ei mitään;

textReader.Read();

// Jos solmulla on arvo

samalla (textReader.Read())
{

... ja niin edelleen...

He avain avaimenlehti on luemme InfoPath suoraan kautta OpenBinaryStream() menetelmä pyytää SPFile-tiedoston XmlTextReader-konstruktorin parametri. Se toimii hyvin.

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Technorati Tags:

Yksi ajatelleet ”Quick Hit: Luettaessa InfoPath XML SPListItem SharePointissa

  1. Hannu

    Moikka,
    Tarvitsen apua tässä , Minulla on sharepoint 2007 sivuston ja infopath toistuvaan taulukkoon , minun täytyy tehdä on, kun lomake tallennetaan sharepoint-lomakekirjastoon, silmukan ja tallentaa tiedot luetteloon avulla SP kirjaston tapahtumakäsittelijä.

    Kaikki apu on todella arvostaa.

    Kiitos

    Vastaus

Jätä vastaus

Sähköpostiosoitettasi ei julkaista. pakolliset kentät on merkitty *