使用SharePoint 2007 webservices甚至Webdav,如何检查SharePoint中的列表(而非文档库)中是否存在文件夹。
我还想检查子文件夹......
任何人都知道如何做到这一点?我问微软,他们的官方立场是微软没有提供相关文件。所以任何帮助都会受到欢迎......
提前致谢...
我有这个代码创建一个文件夹,但不知道如何修改它来检查文件夹是否存在,甚至不确定这是否适用于子文件夹......
private void CreateFolderUsingWebService(string listName, string folderName)
{
//Check Databox Folder Exists
//string folderAddress = siteAddress + @"/lists/" + listAddress + @"/" + folderName;
//wsDws.CreateFolder(folderAddress);
var doc = new XmlDocument();
XmlElement batch = doc.CreateElement("Batch");
string item = "<Method ID=\"1\" Cmd=\"New\">" +
"<Field Name=\"ID\">New</Field>" +
"<Field Name=\"FSObjType\">1</Field>" +
"<Field Name=\"BaseName\">" + folderName + "</Field></Method>";
batch.SetAttribute("ListVersion", "1");
//batch.SetAttribute("ViewName", "{GUID of View, including braces}");
batch.InnerXml = item;
wsLists.UpdateListItems(listName, batch);
}
答案 0 :(得分:1)
请参阅我在这篇文章Sharepoint 2007, how to check if a folder exists in a document library上的回答,这非常相似。
答案 1 :(得分:1)
好的 - 此信息可能有助于下一个SharePoint开发人员:
上述功能有效,甚至可以创建目录结构。但是,您需要传递列表名称而不是列表URL,这意味着如果您本地化代码,则需要将本地化列表名称传递给函数。
我没有打扰为ifExists添加检查,因为它似乎不会创建重复项或者如果目录已经存在则会失败。我知道这不是一个很好的解决方案,但我没有2-3周的时间来研究如何正确地做到这一点,所以如果您有任何建议,欢迎提出意见。
最后,任何微软代表阅读本文 - 可能想要考虑为什么没有任何关于如何从MS获得真正好的文档? MMMMM
我去了下载MOSS Web Services SDK,它包含了一个非常模糊的例子,说明了如何在Lists Web服务中使用1个功能,这对我们这些试图整合强大解决方案的人来说根本不够在MOSS。我们需要更多文档...