我有一个使用XSL文件在sharepoint中呈现的XML。我现在使用sharepoint的对象模型如何做到这一点但不知道如何使用sharepoint web服务来做到这一点。
即。我想使用sharepoint Web服务创建XML Web部件。
是否可以使用sharepoint Web服务创建XML Web部件?如果是,怎么样?
答案 0 :(得分:0)
发现自己该怎么做。 : - )
AddWebPart
网络服务的WebPartPages
方法是唯一可用于添加网页部件并将其添加到网页的方法。
您只需要正确准备Xml,这需要作为参数传递给methosd。此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部分。 :)