2011-03-15 67 views
1

我有一個文檔庫,我保存文檔(je)。 (Silverlight的太多,但這個問題已經解決)文檔XML數據Sharepoint 2010 Silverlight

我想用2010的SharePoint對象模型從Silverlight應用程序來獲得ID文檔的XML數據= ...

首先我序列化類,並上傳到文檔庫,然後我想它...

這XML必須包含一個物體的XMLSerializer反序列化...

我該怎麼辦呢?

+0

請提供你想要完成什麼更多的信息。我想你說你想讓Silverlight應用程序訪問SharePoint文檔庫中的項目。它是否正確? – 2011-03-15 17:12:35

+0

如果文檔庫中的數據已經序列化,您將只能反序列化數據。請提供更多信息。 – 2011-03-15 17:15:54

+0

是的,首先我序列化一個類並上傳到文檔庫,然後我想要得到它,那就是點,是@羅伯特·威廉姆斯 – Caipivara 2011-03-15 17:55:33

回答

0

我第一次做「文檔庫中下載一個文件」:

using (ClientContext ctx = new ClientContext("http://med02ws:47205/Documentos")) 
       { 
        Web web = ctx.Web; 

        List docs = web.Lists.GetByTitle(tipo); 

        DocumentoObtenidoSP = docs.GetItemById(id); 

        ctx.Load(DocumentoObtenidoSP); 
        ctx.ExecuteQueryAsync(OnCargarDocumentoSucceess, OnSharepointFailure); 
       } 

    private void OnCargarDocumentoSucceess(object sender, ClientRequestSucceededEventArgs e) 
{ 
       WebClient wc = new WebClient(); 
       wc.OpenReadCompleted += new OpenReadCompletedEventHandler(WebClient_OpenFileReadCompleted); 
       wc.OpenReadAsync(new Uri("http://med02ws:47205" + DocumentoObtenidoSP.FieldValues["FileRef"].ToString())); 
} 

private void WebClient_OpenFileReadCompleted(object sender, OpenReadCompletedEventArgs e) 
{ 
//In e.Result you got the stream to XML Deserialize using the XMLSerializer 
} 
1

首先你要獲得與Silverlight客戶端對象模型熟悉,這裏有一個首發,但有相當多的人在那裏:

http://praveenbattula.blogspot.com/2010/03/sharepoint-2010-silverlight-client.html

然後你就會想找到oout如何使用CAML查詢列表,並使用結果集中的項目獲取您所在圖書館中的文檔。

然後您可能需要將內容(使用SPListItem.File.OpenBinaryStream())流式傳輸到某種類型的閱讀器中,以便反序列化。

+0

我在silverlight所以SPListItem不可用:( – Caipivara 2011-03-15 21:42:14

+2

它將可用如果你使用Silverlight客戶端對象模型來獲取它。看看這個:http://www.dotnetthoughts.net/2010/11/04/how-to-access-sharepoint-list-items-using-silverlight-object -model /。我應該添加的對象是caledd「ListItem」而不是「SPListItem」 - 這是SharePoint 2010中服務器和客戶端對象模型之間的主要區別之一。 – 2011-03-15 22:15:30

1

下面是關於SharePoint客戶端對象模型一套良好的信息:

http://msdn.microsoft.com/en-us/library/ee857094.aspx

下面是如何與客戶端對象模型查詢列表(例如文檔庫)一個具體的例子:

http://msdn.microsoft.com/en-us/library/ee857094.aspx#SP2010ClientOM_Using_CAML_Query_List

我真的很喜歡通過示例網站上的.NET這個例子:

http://dotnetbyexample.blogspot.com/2011/03/sharepoint-client-object-model-sites.html

我喜歡創建SharePointHelper類作爲客戶端對象模型的包裝器的想法。它提供了許多例子,包括

+0

這是所有客戶端對象模型並且沒有任何abuot Silverlight - Silverlight的主要區別是(除了不同的引用代碼庫),您不能在Silverlight中使用客戶端對象模型執行同步的ExecuteQuery調用。 – 2011-03-16 15:35:49

+0

@JamesLove - 我僅僅提供了我的答案和客戶端對象模型的具體例子,因爲在我看來,Daniel G. R.(問過這個問題)已經知道了他們圍繞Silverlight的方式。這個問題似乎更多地依靠SharePoint客戶端對象模型的方向。 – 2011-03-16 15:55:42

相關問題