2010-04-19 110 views
0

我有一個XML使用XSL文件在Sharepoint中呈現。我現在如何使用SharePoint的對象模型來做到這一點,但不知道如何使用SharePoint Web服務來做到這一點。如何使用Sharepoint Web服務創建XML Webparts?

即我想使用SharePoint Web服務創建XML Web部件。

是否有可能使用Sharepoint Web服務創建XML Web部件?如果是,如何?

+0

我認爲你應該更精確,並告訴我們你想做什麼。 – Flo 2010-04-19 08:19:53

+0

@Flo:thanks ... edited .. – Manish 2010-04-19 09:50:23

回答

0

找到了我自己該怎麼做。 :-)

AddWebPart方法WebPartPages網絡服務是唯一可用於添加Web部件並將其添加到頁面的方法。

您只需要準備好需要傳遞給methosd作爲參數的Xml。該XML確定WebPart的類型及其屬性。

對於XML的WebPart,我用下面的XML:

<WebPart xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/WebPart/v2"> 
      <Assembly>Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly> 
      <TypeName>Microsoft.SharePoint.WebPartPages.XmlWebPart</TypeName> 
      <FrameType>None</FrameType> 
      <Title>XML Web Part</Title> 
      <XMLLink xmlns="http://schemas.microsoft.com/WebPart/v2/Xml">http://RootSite/sites/XYZ/Documents/ABC.xml</XMLLink> 
      <XML xmlns="http://schemas.microsoft.com/WebPart/v2/Xml" /> 
      <XSLLink xmlns="http://schemas.microsoft.com/WebPart/v2/Xml">http://RootSite/sites/XYZ/Documents/ABC.xsl</XSLLink> 
      <XSL xmlns="http://schemas.microsoft.com/WebPart/v2/Xml" /> 
      <PartStorage xmlns="http://schemas.microsoft.com/WebPart/v2/Xml" /> 
</WebPart> 

而這個XML字符串傳遞給AddWebPart方法:

public static Guid WebPartPagesAddWebPart(string PageUrl, string WebPartXml, uint Storage) 
     { 
      // proxy object to call the Versions web service 
      WebPartPages.WebPartPagesWebService WebPartPagesWebService = new WebPartPages.WebPartPagesWebService(); 

      // the user credentials to use 
      WebPartPagesWebService.Credentials = new NetworkCredential(UserName, Password, Domain); 
      WebPartPagesWebService.Url = sharePointHost + WebPartPagesServiceName; 

      // add the new web part to the page 
      Guid Result = WebPartPagesWebService.AddWebPart(PageUrl, WebPartXml, (WebPartPages.Storage)Storage); 

      // dispose the web service object 
      WebPartPagesWebService.Dispose(); 
      return Result; 
     } 

MSDN幫助只給了ContentEditor Web部件一個例子。我搜索了一下,並將其修改爲Xml Web部件。 :)