Robię niektórych badań dla kogoś dziś około list.asmx usługi sieci web w ramach programu SharePoint 2010 (i wcześniejszych). Okręt był w stanie uzyskać elementów listy w głównym folderze (łącznie nazw podfolderów), jednak nie można pobrać elementy w podfolderach. I did, niektóre patrząc sieciach internetowych i jest zaskakująco często pytanie. Jeszcze, Nie mogłam dobrej odpowiedzi na proste pytanie, "Jeśli wiadomo folder, jak uzyskać elementy w folderze?” Szczerze, I spróbuj nie wszystkie twarde ponieważ wcześniej chciałem do rysunku, to jeden z samodzielne na chwilę .
Aby skonfigurować, Utworzony witrynę o nazwie "Blogi scenariuszy" i niestandardowej listy o nazwie "Niestandardowe listy z podfoldery". Następnie utworzony foldery o nazwie:
- Rok 2005
- Rok 2006
- Rok 2007
Po dodaniu kilku elementów do folderu "Rok 2006". Jest to, jak ona wygląda:
Mój przyjaciel nie pisząc kod C#, ale raczej przy użyciu języka Java, tak więc koperty SOAP została co tak naprawdę potrzebuje. Aby uzyskać, Napisał nieco jQuery i następnie używana skrzypek, aby uzyskać notatkom HTTP.
Oto odpowiednich jQuery (Skopiowano kod w dół poniżej jeśli chcesz kopiowania/wklejania):
Ich pierwszy klucz ma zawierać zarówno <queryOptions> i <QueryOptions> węzeł. Drugi klucz jest <Folderu> węzeł jest to adres URL, do którego klient ma dostęp.
Mogą istnieć inne sposoby żeby to, ale to pracował również dla mnie podczas używania jQuery.
Oto koperty SOAP dla powyższego:
<soapenv:Koperta xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’>
<soapenv:Organ>
<GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’>
<listName>Lista niestandardowa z podfoldery</listName>
<viewFields>
<ViewFields>
<Nazwa FieldRef =' Tytuł’ />
<FieldRef Name = "EncodedAbsUrl’ />
</ViewFields>
</viewFields>
<queryOptions>
<QueryOptions>
<Folderu>http://demoserver1/blogi Lista scenariuszy/list/niestandardowa z Sub folderów na rok 2006</Folderu>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:Organ>
</soapenv:Koperta>
Wiele przykładów i dyskusji wokół to doprowadziło me by sądzić, że wszystko, co potrzebne było <QueryOptions> i określ nazwę folderu. Dla mnie, I potrzeby zarówno opakować go wewnątrz <queryOptions> jak określić pełni kwalifikowany adres URL dla <Folderu> węzeł.
Oto instalacji AJAX jQuery:
$(dokument).gotowe(Funkcja() {
var soapEnv =
"<soapenv:Koperta xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’> \
<soapenv:Organ> \
<GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
<listName>Lista niestandardowa z podfoldery</listName> \
<viewFields> \
<ViewFields> \
<Nazwa FieldRef =' Tytuł’ /> \
<FieldRef Name = "EncodedAbsUrl’ /> \
</ViewFields> \
</viewFields> \
<queryOptions> \
<QueryOptions> \
<Folderu>http://demoserver1/Blogging Lista scenariuszy/list/niestandardowa z Sub folderów na rok 2006</Folderu> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:Organ> \
</soapenv:Koperta>";
</koniec>
Follow me on Twitter wiek na http://www.twitter.com/pagalvin