假设我在SharePoint 2010网站中有同一文档的三个版本。如何使用Web服务检索第二个版本的元数据?
我知道我可以使用以下SOAP请求检索最新版本
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>Shared Documents</listName>
<viewName></viewName>
<query>
<Query><Where><Eq><FieldRef Name="FileRef"/>
<Value Type="Text">https://mysite.com/sites/DocLib026/Shared Documents/_mytest5.doc</Value></Eq></Where></Query>
</query>
<rowLimit>200</rowLimit>
</GetListItems>
</S:Body></S:Envelope>
如何修改此项以便我可以检索任何现有版本?
答案 0 :(得分:0)
使用Sharepoint对象模型,一旦我使用了找到的代码here:
using (SPSite site = new SPSite(“http://SharePointSite”))
{
using (SPWeb web = site.OpenWeb())
{
SPList docs = web.Lists["Mydocumentlib"];
foreach (SPFile file in docs.RootFolder.Files)
{
Console.WriteLine(“File {0} has next version {1}. Version History:”, file.Url, file.UIVersionLabel);
foreach (SPFileVersion v in file.Versions.Cast().Reverse())
{
Console.WriteLine(” Version {0} checked in at {1} with this comment: ‘{2}’”, v.VersionLabel, v.Created, v.CheckInComment);
}
}
}}
只需调整foreach方法,然后在那里做一些神奇的东西。