Я роблю деякі дослідження для кого-то сьогодні навколо list.asmx веб-служби, що надається як частина SharePoint 2010 (і раніше). Вона була в змозі отримати елементи в кореневій папці (включаючи імена вкладені папки), але не міг отримати елементи в вкладені папки. Я зробив деякий озираючись на Інтернет, і це дивно поширені питання. Ще, Я не міг отримати хорошу відповідь просте запитання:, "Якщо я знаю, що папки, як отримати елементи в папці?” Щоб бути чесним, Я не спробувати все, що важко, тому що я хотів фігурою, це одне з на моїх на деякий час .
Щоб реалізувати цю можливість, Я створив сайт, названий "Блогів сценарії" та настроюваний список, названий "Настроюваний список із вкладених папок". Потім я створив папок, названий:
- Рік 2005
- Рік 2006
- Рік 2007
Я додав кілька елементів до папки "2006 року". Це те, що він виглядає:
Мій друг не писати C# код, але швидше за використання Java, так МИЛО конверт було те, що вона дійсно необхідна. Щоб отримати, що, Я написав трохи jQuery і потім використовувати скрипаля отримати фактичне розмова HTTP.
Ось відповідних jQuery (Я скопіювати код вниз нижче, якщо ви хочете копіювати/вставити):
Вони є першим ключовим включити обидві на <queryOptions> і <QueryOptions> вузол. Другим ключовим є те, що на <Папка> вузол є URL-адресу, на яку клієнт має доступ.
Можливо, інші способи, щоб отримати це, але це працює добре для мене, коли за допомогою jQuery.
Ось МИЛО конверт для зазначених вище:
<soapenv:Конверт xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/envelope/’>
<soapenv:Тіло>
<GetListItems-xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’>
<listName>Користувацький список з вкладених папок</listName>
<viewFields>
<ViewFields>
<FieldRef ім'я =' Назва’ />
<FieldRef ім'я ='EncodedAbsUrl’ />
</ViewFields>
</viewFields>
<queryOptions>
<QueryOptions>
<Папка>http://demoserver1/блоги Сценарії, списки, настроюваний список з південь папках на рік 2006</Папка>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:Тіло>
</soapenv:Конверт>
Багато прикладів і дискусії навколо цього привели мене до думки, що все, що мені потрібно було <QueryOptions> і вкажіть ім'я папки. Для мене, Я потрібна обом оберніть його всередині <queryOptions> а також вказати повний URL для на <Папка> вузол.
Ось установка AJAX jQuery:
$(документ).готові(функція() {
VAR soapEnv =
"<soapenv:Конверт xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/envelope/’> \
<soapenv:Тіло> \
<GetListItems-xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
<listName>Користувацький список з вкладених папок</listName> \
<viewFields> \
<ViewFields> \
<FieldRef ім'я =' Назва’ /> \
<FieldRef ім'я ='EncodedAbsUrl’ /> \
</ViewFields> \
</viewFields> \
<queryOptions> \
<QueryOptions> \
<Папка>http://demoserver1/Blogging Сценарії, списки, настроюваний список з південь папках на рік 2006</Папка> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:Тіло> \
</soapenv:Конверт>";
</кінець>
Йди за мною на Twitter в http://www.twitter.com/pagalvin