Я делаю некоторые исследования для кого-то сегодня вокруг list.asmx веб-службы в рамках SharePoint 2010 (и более ранних версий). Она смогла получить элементы списка в корневой папке (включая имена подпапок), но не мог получить предметы в подпапки. Я сделал некоторые смотрю на Интернет, и это удивительно общий вопрос. Тем не менее, Я не мог получить хороший ответ на простой вопрос, «Если я знаю папки, как я могу получить элементы в папке?” Чтобы быть честным, Я не попробовал все, что трудно, так как я хотел рис, это один из моей какое-то время .
Чтобы задать этот вопрос, Я создал сайт под названием «Блогов сценариев» и собственный список с именем «Настраиваемого списка с вложенные папки». Затем я создал папки с именем:
- Год 2005
- Год 2006
- Год 2007
Я добавил несколько пунктов в папку «2006 год». Это, как он выглядит:
Мой друг не писать код C#, но скорее с использованием Java, так что конверт SOAP был то, что она действительно необходима. Чтобы получить, что, Я написал немного jQuery и затем используется для получения фактической HTTP разговора скрипача..
Вот соответствующие jQuery (Я скопировал код вниз ниже, если вы хотите копировать/вставить):
Они первый ключ должен включать как <queryOptions> и <QueryOptions> узел. Второй ключ заключается в том, что <Папка> узел — это адрес URL, к которому клиент имеет доступ.
Могут быть и другие способы получить эту, но это работает хорошо для меня, когда с помощью jQuery.
Вот конверт SOAP для выше:
<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/блоги Сценарии/списки/настраиваемый список с Sub папки/год 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 Сценарии/списки/настраиваемый список с Sub папки/год 2006</Папка> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:Тело> \
</soapenv:Конверт>";
</конец>
Подписаться на мой блог.
Следуй за мной по щебетать на http://www.twitter.com/pagalvin