有一种方法可以通过web服务来完成,但我在实现自定义事件处理程序方面做得更多。这里有一些代码可以做你想做的事情。请记住,您只能从服务器执行此操作,因此您可能希望将其封装在Web服务中以允许您的嵌入式设备进行访问。此外,您需要在此代码中引用Microsoft.SharePoint.dll。
using (SPSite site = new SPSite("http://yoursitename/subsite"))
{
using (SPWeb web = site.OpenWeb())
{
SPListItemCollection list = web.Lists["MyDocumentLibrary"].GetItems(new SPQuery());
foreach(SPListItem itm in list) {
Stream inStream = itm.File.OpenBinaryStream();
XmlTextReader reader = new XmlTextReader(inStream);
XmlDocument xd = new XmlDocument();
xd.Load(reader);
//from here you can read whatever XML node that contains your version info
reader.Close();
inStream.Close();
}
}
}
using()语句确保您不会创建内存泄漏,因为SPSite和SPWeb是非托管对象。
编辑:如果版本号已晋升为库场,你可以通过循环内的下列访问它上面:
itm["FieldName"]