Lists.asmx, GetListItems agus Fillteáin

Bhí mé ag déanamh roinnt taighde a dhéanamh do dhuine lá atá inniu ann ar fud na seirbhíse gréasáin list.asmx ar fáil mar chuid de SharePoint 2010 (agus níos luaithe).  Bhí sí in ann a fháil ar na míreanna liosta ag an fillteán fhréamh (lena n-áirítear ainmneacha na fo-fhillteáin), Ní fhéadfaí ach a fháil míreanna i bhfo-folders.  I raibh roinnt féachaint timpeall ar an Internets agus tá sé ina ceist ionadh coiteann.  Ach, Ní raibh mé in ann freagra maith a fháil chun an cheist shimplí, "Má tá a fhios agam an fillteán, conas is féidir liom a fháil ar na míreanna san fhillteán?"  Chun a bheith macánta, Ní raibh mé iarracht a dhéanamh go léir go crua ó bhí mé ag iarraidh chun an figiúr seo ar cheann amach ar mo chuid féin ar feadh tamaill Smile.

A shocrú suas seo, Chruthaigh mé suíomh ainmnithe "Cásanna Blagadóireacht" agus liosta saincheaptha darb ainm "Liosta Chustaim le Fillteáin Fo".  Chruthaigh mé ansin fillteáin ainmnithe:

  • Bliain 2005
  • Bliain 2006
  • Bliain 2007

Dúirt mé freisin ar roinnt rudaí ar an bhfillteán "Bliain 2006".  Is é seo a tá sé cosúil:

image

Níl mo chara ag scríobh C # cód ach úsáid a bhaint as Java, mar sin bhí an clúdach gallúnach cad a theastaíonn sí i ndáiríre.  Chun a fháil go, Scríobh mé beagán de jQuery agus ansin a úsáidtear fidléir a fháil ar an iarbhír HTTP chomhrá.

Seo an jQuery ábhartha (Chóipeáil mé an cód síos thíos más mian leat a chóipeáil / greamaigh):

image

Tá siad an chéad eochair a chur san áireamh araon <queryOptions> agus <QueryOptions> nód.  Is í an eochair dara go bhfuil an <Fillteán> Is nód URL chun a bhfuil an cliant le rochtain.

D'fhéadfadh go mbeadh slite eile a fháil ar an, ach d'oibrigh sé sin go maith dom nuair a úsáid jQuery.

Seo é an clúdach gallúnach le haghaidh na nithe thuas:

<soapenv:Xmlns Clúdach:soapenv =’http://schemas.xmlsoap.org / gallúnach / clúdach /’>                
  <soapenv:Comhlacht>
    <Xmlns = GetListItems’
http://schemas.microsoft.com / SharePoint / gallúnach /’>
      <listname>Liosta Chustaim le Fillteáin Fo</listname>
      <viewFields>  
        <ViewFields>
          <FieldRef Ainm = 'Teideal’ />
          <FieldRef Ainm = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Fillteán>
http://demoserver1/Blogging Cásanna / liostaí / Liosta Chustaim le Fillteáin Fo / Bliain 2006</Fillteán>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Comhlacht>
</soapenv:Clúdach>

A lán de na samplaí agus plé ar fud seo faoi stiúir dom chun a chreidiúint go raibh go léir is gá dom a <QueryOptions> agus a shonrú ainm fillteán.  Maidir liom féin, Is gá dom a araon wrap sé taobh istigh <queryOptions> chomh maith a shonrú mar URL lán-cháilithe don <Fillteán> nód.

Seo an jQuery AJAX thus:

$(doiciméad).réidh(fheidhm() {
       Bhí soapEnv =
           "<soapenv:Xmlns Clúdach:soapenv =’http://schemas.xmlsoap.org / gallúnach / clúdach /’> \
               <soapenv:Comhlacht> \
                    <Xmlns = GetListItems’http://schemas.microsoft.com / SharePoint / gallúnach /’> \
                       <listname>Liosta Chustaim le Fillteáin Fo</listname> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef Ainm = 'Teideal’ /> \
                              <FieldRef Ainm = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Fillteán>http://demoserver1/Blogging Cásanna / liostaí / Liosta Chustaim le Fillteáin Fo / Bliain 2006</Fillteán> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Comhlacht> \
           </soapenv:Clúdach>";

</deireadh>

Liostáil le mo bhlag.

Lean mé ar Twitter ag http://www.twitter.com/pagalvin

6 smaointe ar "Lists.asmx, GetListItems agus Fillteáin

  1. Daniel

    Hi

    I am trying to display the documents under a specific folder using a SPD 2010 DataSource GetListItems

    Once I connect to to my web service and enter the guid for the document library
    I can modify the QueryOptions and enter the following piece of CAML
    Compliance Training\CompanyX.

    Only this does not return any results – removing the QueryOptions parameter returns all the documents in the root document library….

    Am I looking at passing some sort of view parameter and include the view guid.

    Freagra
    1. Paul Galvin Post údar

      This is a very old post/comment so sorry for never replying. I assume you long since figured out how to proceed.

      Freagra
  2. Bob Bolton

    Ok, looks like it stripped out the xml… just replace the pound signs below with chevrons.

    #queryOptions#
    #QueryOptions#
    #ViewAttributes Scope=’RecursiveAll’/#
    #/QueryOptions#
    #/queryOptions#

    Freagra
  3. Doug

    Go raibh maith agat a bunch don phost seo, Paul. Tá mé ag iarraidh a GetListItems via ColdFusion cfhttp ithe, agus nach bhféadfaí a fháil an ceart clúdach. Faoi dheireadh tháinig trasna an bpost seo, agus d'oibrigh sé do shampla flawlessly. Go raibh maith agat arís.

    Freagra
  4. Doug

    BTW – bhfuil a fhios agat an acmhainn go liostaí na clúdaigh gallúnach cuí? Ní dhéanann an ceann amháin le haghaidh Míreanna GetList foilsithe ar microsoft.com comhoiriúnach do anseo…

    Freagra

Leave a Reply a Paul Galvin Cealaigh freagra

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte *