gpt4 book ai didi

web-services - SharePoint Web 服务 : test if file exists

转载 作者:行者123 更新时间:2023-12-04 07:09:41 27 4
gpt4 key购买 nike

我在 C# 中使用 SharePoint Web 服务。我的代码可以用来检查文件并使用 Lists Web 服务将它们 checkout 。我需要测试一个文件是否存在;我可以找到很多使用对象模型 API 执行此操作的示例,但我似乎无法找到使用 Web 服务执行此操作的简单方法。

最佳答案

这段代码可能会做,有点粗糙,但演示了如何根据标题获取文件列表。

        public static bool PageExists(string listName, string webPath, string pageTitle)
{
string pageId = "";
IntranetLists.Lists lists = new IntranetLists.Lists();
lists.UseDefaultCredentials = true;
lists.Url = webPath + "/_vti_bin/lists.asmx";
XmlDocument doc = new XmlDocument();
doc.LoadXml("<Document><Query><Where><Contains><FieldRef Name=\"Title\" /><Value Type=\"Text\">" + pageTitle + "</Value></Contains></Where></Query><ViewFields /><QueryOptions /></Document>");
XmlNode listQuery = doc.SelectSingleNode("//Query");
XmlNode listViewFields = doc.SelectSingleNode("//ViewFields");
XmlNode listQueryOptions = doc.SelectSingleNode("//QueryOptions");

Guid g = GetWebID(webPath);

XmlNode items = lists.GetListItems(listName, string.Empty, listQuery, listViewFields, string.Empty, listQueryOptions, g.ToString());

}
return items.Count > 0;
}

public static XmlNodeList XpathQuery(XmlNode xmlToQuery, string xPathQuery)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlToQuery.OuterXml);
XmlNamespaceManager mg = new XmlNamespaceManager(doc.NameTable);
mg.AddNamespace("sp", "http://schemas.microsoft.com/sharepoint/soap/");
mg.AddNamespace("z", "#RowsetSchema");
mg.AddNamespace("rs", "urn:schemas-microsoft-com:rowset");
mg.AddNamespace("y", "http://schemas.microsoft.com/sharepoint/soap/ois");
mg.AddNamespace("w", "http://schemas.microsoft.com/WebPart/v2");
mg.AddNamespace("d", "http://schemas.microsoft.com/sharepoint/soap/directory");
return doc.SelectNodes(xPathQuery, mg);
}

关于web-services - SharePoint Web 服务 : test if file exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/583606/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com