Jo estava fent una investigació per algú avui al voltant de la list.asmx web servei proporcionat com part del SharePoint 2010 (i anteriors). Ella va ser capaç d'obtenir els elements de la llista a la carpeta d'arrel (incloent-hi els noms de sub-carpetes), però no podria aconseguir elements en subcarpetes. Vaig fer algunes mirant al voltant de la internets i és una pregunta sorprenentment comú. No obstant això, No podria aconseguir una bona resposta a la pregunta simple, "si jo sé la carpeta, com puc obtenir els elements a la carpeta?” Per ser honest, No intento dur tot el que ja he volgut aquest un terme figura en el meu propi una estona .
Per configurar-ho, He creat un lloc anomenat "Blogging escenaris" i una llista personalitzada anomenat "Costum llista amb subcarpetes". Llavors vaig crear carpetes anomenades:
- L'any 2005
- L'any 2006
- L'any 2007
He afegit uns elements a la carpeta de "Any 2006". Això és el que sembla:
El meu amic no és l'escriptura de codi de c# però més aviat utilitzant Java, Així, els sobres de sabó, va ser el que realment necessitava. Per aconseguir que, Vaig escriure una mica de jQuery i llavors utilitzava el violinista a la conversa d'HTTP present.
Heus aquí la jQuery rellevant (He copiat el codi avall per sota si vol copiar/enganxar):
És de primera clau per incloure a banda un <queryOptions> i <QueryOptions> node. La segona clau és que el <Carpeta> node és un URL al qual el client té accés.
Pot haver-hi altres maneres d'aconseguir això, però això funcionava bé per a mi quan utilitzant jQuery.
Aquí hi ha les sobres de sabó per a l'anterior:
<soapenv:Sobres xmlns:soapenv =’http://Schemas.xmlsoap.org/SOAP/envelope/’>
<soapenv:Cos>
<GetListItems xmlns =’http://Schemas.Microsoft.com/SharePoint/SOAP/’>
<NOMBRELISTA>Llista personalitzada amb subcarpetes</NOMBRELISTA>
<viewFields>
<ViewFields>
<FieldRef nom =' títol’ />
<Nom de FieldRef ='EncodedAbsUrl’ />
</ViewFields>
</viewFields>
<queryOptions>
<QueryOptions>
<Carpeta>http://demoserver1/blocs Llista d'escenaris/llistes/personalitzada amb Sub les carpetes a l'any 2006</Carpeta>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:Cos>
</soapenv:Sobres>
Un munt d'exemples i discussió al voltant d'això em va portar a crec que tot el que necessito és la <QueryOptions> i especifiqueu un nom de carpeta. Per a mi, Jo necessitar als dos embolicar dins <queryOptions> així com d'especificar una URL plenament qualificat per a la <Carpeta> Node.
Aquesta és la configuració d'AJAX jQuery:
$(document).preparat(funció() {
var soapEnv =
"<soapenv:Sobres xmlns:soapenv =’http://Schemas.xmlsoap.org/SOAP/envelope/’> \
<soapenv:Cos> \
<GetListItems xmlns =’http://Schemas.Microsoft.com/SharePoint/SOAP/’> \
<NOMBRELISTA>Llista personalitzada amb subcarpetes</NOMBRELISTA> \
<viewFields> \
<ViewFields> \
<FieldRef nom =' títol’ /> \
<Nom de FieldRef ='EncodedAbsUrl’ /> \
</ViewFields> \
</viewFields> \
<queryOptions> \
<QueryOptions> \
<Carpeta>http://demoserver1/Blogging Llista d'escenaris/llistes/personalitzada amb Sub les carpetes a l'any 2006</Carpeta> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:Cos> \
</soapenv:Sobres>";
</final>
Follow me on Twitter http://www.twitter.com/pagalvin
Hola
Estic intentant mostrar els documents en una carpeta específica utilitzant un SPD 2010 DataSource GetListItems
Un cop em vaig connectar al meu servei web i introdueixi el guid per a la biblioteca de documents
Puc modificar el QueryOptions i introduïu el següent fragment de CAML
Compliment TrainingCompanyX.
Només això no obtindreu cap resultat – traient el paràmetre QueryOptions retorna tots els documents de la biblioteca de documents d'arrel….
Estic mirant a passar alguns tipus de Mostra paràmetre i inclouen el guid de vista.
Aquesta és una molt antiga post/comentari tan trist per respondre mai. Suposo que llarga ja que imaginava com procedir.
Bon article! Gràcies.
També podeu utilitzar l'opció RecursiveAll automàticament travessar per l'estructura de carpeta (des de l'arrel).
Correcte, sembla que-desposseït a terme el xml… només substitueix els signes lliura sota els xebrons.
#queryOptions #
#QueryOptions #
#ViewAttributes àmbit = 'RecursiveAll' / #
#/QueryOptions #
#/queryOptions #
Moltíssimes gràcies per aquest missatge, Paul. He estat tractant de consumir GetListItems mitjançant ColdFusion cfhttp, i no podia encertar l'embolcall. Finalment vaig trobar aquest post, i el seu exemple treballat impecablement. Gràcies una altra vegada.
BTW – saps d'un recurs que s'enumeren tots els sobres de sabó adequat? Aquell GetList elements publicades a microsoft.com no coincideix amb tu estàs aquí…