0

假设我在 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>

如何修改它以便检索任何现有版本?

4

1 回答 1

0

使用 Sharepoint 对象模型,一旦我使用了此处找到的代码:

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 方法并在那里做你的魔法。

于 2012-05-09T20:55:51.273 回答