Roeddwn yn gwneud rhywfaint o waith ymchwil i rywun heddiw o amgylch y gwasanaeth we list.asmx a ddarperir fel rhan o SharePoint 2010 (ac yn gynharach). Roedd hi'n gallu cael yr eitemau rhestr ar y ffolder wraidd (gan gynnwys enwau is-ffolderi), ond ni allai gael eitemau yn is-ffolderi. I ddim yn rhai edrych o gwmpas ar y internets ac mae'n gwestiwn rhyfeddol o gyffredin. Eto, Nid oeddwn yn gallu cael ateb da i'r cwestiwn syml, "Os wyf yn gwybod y ffolder, sut ydw i'n cael y eitemau yn y ffolder?" I fod yn onest, Doeddwn i ddim yn ceisio bob un sy'n caled ers i mi wedi bod eisiau i ffigur hwn allan ar fy mhen fy hun am gyfnod .
I osod hyn i fyny, Yr wyf yn creu safle o'r enw "Senarios Blogio" a rhestr arfer o'r enw "Rhestr Custom gyda Is Folders". Yna greu ffolderi a enwir:
- Blwyddyn 2005
- Blwyddyn 2006
- Blwyddyn 2007
I ychwanegu ychydig o eitemau at 'r folder "Blwyddyn 2006". Dyma sut mae'n edrych:
Nid yw fy ffrind yn ysgrifennu C # cod, ond yn hytrach gan ddefnyddio Java, felly yr amlen SOAP oedd beth oedd gwir angen. Er mwyn cael y, Ysgrifennais ychydig o jQuery ac a ddefnyddir wedyn ffidlwr i gael y sgwrs HTTP gwirioneddol.
Dyma y jQuery perthnasol (I gopïo y cod i lawr isod os ydych am gopi / past):
Maent yn allweddol cyntaf yw cynnwys ill dau <queryOptions> a <QueryOptions> nod. Yr ail allweddol yw bod y <Folder> nod yw URL y mae gan y cleient fynediad.
Gall fod ffyrdd eraill o gael y, ond mae hyn yn gweithio'n dda i mi wrth ddefnyddio jQuery.
Dyma'r amlen SOAP ar gyfer yr uchod:
<soapenv:Xmlns Amlen:soapenv =’http://schemas.xmlsoap.org / sebon / amlen /’>
<soapenv:Corff>
<Xmlns GetListItems =’http://schemas.microsoft.com / sharepoint / sebon /’>
<Collddail>Rhestr Custom gyda Is-Folders</Collddail>
<viewFields>
<ViewFields>
<FieldRef Enw = 'Teitl’ />
<FieldRef Enw = 'EncodedAbsUrl’ />
</ViewFields>
</viewFields>
<queryOptions>
<QueryOptions>
<Folder>http://demoserver1/Blogging Senarios / rhestrau / Rhestr Custom gyda Is Folders / Flwyddyn 2006</Folder>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:Corff>
</soapenv:Amlen>
Mae llawer o enghreifftiau a thrafodaeth o gwmpas hyn fy arwain i gredu bod yr holl ei angen arnaf yn <QueryOptions> ac yn nodi enw ffolder. I mi, Mae angen i'r ddau lapio y tu mewn i <queryOptions> yn ogystal â nodi URL hollol gymwys ar gyfer y <Folder> nod.
Dyma y setup AJAX jQuery:
$(dogfen).barod(swyddogaeth() {
Roedd soapEnv =
"<soapenv:Xmlns Amlen:soapenv =’http://schemas.xmlsoap.org / sebon / amlen /’> \
<soapenv:Corff> \
<Xmlns GetListItems =’http://schemas.microsoft.com / sharepoint / sebon /’> \
<Collddail>Rhestr Custom gyda Is-Folders</Collddail> \
<viewFields> \
<ViewFields> \
<FieldRef Enw = 'Teitl’ /> \
<FieldRef Enw = 'EncodedAbsUrl’ /> \
</ViewFields> \
</viewFields> \
<queryOptions> \
<QueryOptions> \
<Folder>http://demoserver1/Blogging Senarios / rhestrau / Rhestr Custom gyda Is Folders / Flwyddyn 2006</Folder> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:Corff> \
</soapenv:Amlen>";
</diwedd>
Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin