gpt4 book ai didi

c# - 迭代共享点文件夹内容时出现问题

转载 作者:太空宇宙 更新时间:2023-11-03 14:31:42 25 4
gpt4 key购买 nike

我正在尝试使用 C# 中的 Web 服务从文档库访问文件夹。我正在使用 SiteData 的 EnumerateFolder() 方法来获取子文件夹和文件。但是该方法只为每个条目提供了 3 个属性。

  1. IsFolder
  2. Url
  3. Last modified date

那么我们怎样才能得到'Modified By'字段值。

或者还有另一种枚举文件夹和子文件夹的解决方案。

谢谢。

最佳答案

您需要使用 List API 才能从您的对象中获取更多属性。

[编辑 - 完整代码示例]

样本需要清理,但应该给你你需要的东西

public void SomeFunction()
{
Lists lists = new Lists(); //http://server/_vti_bin/Lists.asmx

XmlNode coll = lists.GetListCollection();

XmlNamespaceManager nsMgr = new XmlNamespaceManager(coll.OwnerDocument.NameTable);
nsMgr.AddNamespace("sp", "http://schemas.microsoft.com/sharepoint/soap/");
nsMgr.AddNamespace("z", "#RowsetSchema");

XmlDocument xmlDoc = new XmlDocument();
XmlElement query = xmlDoc.CreateElement("Query");
XmlElement viewFields = xmlDoc.CreateElement("ViewFields");
XmlElement queryOptions = xmlDoc.CreateElement("QueryOptions");

viewFields.InnerXml = "<FieldRef Name=\"Modified_x0020_By\" />";
queryOptions.InnerXml = "<ViewAttributes Scope=\"RecursiveAll\"/>";

XmlNodeList siteLists = coll.SelectNodes("//sp:List", nsMgr);
foreach (XmlNode list in siteLists)
{
if (list.Attributes["ServerTemplate"].Value != "101") continue; //101=DocLib
XmlNode listItemCollection = lists.GetListItems(list.Attributes["Name"].Value, string.Empty, query,
viewFields, "4000",
queryOptions, null);

XmlNodeList listItems = listItemCollection.SelectNodes("//z:row", nsMgr);
foreach (XmlNode listItem in listItems)
{
if (listItem.Attributes["ows_FSObjType"] == null) continue;
if (!listItem.Attributes["ows_FSObjType"].Value.EndsWith("#1")) continue;
PrintModifiedBy(listItem);
}
}
}

private void PrintModifiedBy(XmlNode listItem)
{
string modifiedBy;
if (listItem.Attributes["Modified_x0020_By"] != null)
modifiedBy = listItem.Attributes["ows_Modified_x0020_By"].Value;
else
modifiedBy = listItem.Attributes["ows_Editor"].Value;
Console.WriteLine(modifiedBy);
}

关于c# - 迭代共享点文件夹内容时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2431143/

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