我做了一些調查有人今天周圍作為 SharePoint 的一部分提供的 list.asmx web 服務 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/博客 子資料夾/2006 年年方案/清單/自訂清單</資料夾>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:正文>
</soapenv:信封>
很多例子和討論圍繞這讓我相信我所需要的是 <QueryOptions> 並指定資料夾名稱。 對我來說, 我需要這兩包內 <queryOptions> 也可以指定完全限定的 URL <資料夾> 節點.
這裡是 jQuery AJAX 安裝程式:
$(文檔).準備好了(功能() {
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