gpt4 book ai didi

对 sharepoint 的 C# CAML 查询返回列表中的所有项目(而不是仅返回查询值的项目)

转载 作者:行者123 更新时间:2023-12-02 04:55:14 25 4
gpt4 key购买 nike

我的应用程序中有以下代码,用于从共享点列表中提取详细信息。

            string siteUrl = "http://SHAREPOINTURL";

ClientContext clientContext = new ClientContext(siteUrl);
clientContext.Credentials = new NetworkCredential("UN", "PW", "DOMAIN");
SP.List oList = clientContext.Web.Lists.GetByTitle("Licences");

CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = "<Where><Eq><FieldRef Name='Account' /><Value Type='Text'>123456</Value></Eq></Where>";

ListItemCollection collListItem = oList.GetItems(camlQuery);
clientContext.Load(collListItem);
clientContext.ExecuteQuery();

Console.WriteLine("Filtered List: " + collListItem.Count.ToString() + "\n");
foreach (ListItem oListItem in collListItem)
{
Console.WriteLine("Account: {0} \nLicence: {1} \nMAC: {2}\n", oListItem["Account"], oListItem["Licence"], oListItem["MAC"]);
}

在共享点列表中,我创建了多个测试项目,但每次运行上述代码时,无论我将什么用于 camlQuery,列表中的所有项目都会返回。

任何人都可以告诉我这个 C# 新手哪里出错了,在此之前从未接触过共享点。

Edit1:更新了下面的建议。

Edit2:简化了代码,但仍然遇到同样的问题。

最佳答案

如果您想返回过滤后的项目,在您的情况下是返回所有项目,对吗?如果是,则此问题出在 CAMLQuery ...

我已经阅读了一份小文档(链接如下):

Microsoft MSDN

我注意到 ViewXml 的格式:

camlQuery.ViewXml = "<Where><Eq><FieldRef Name='Account' /><Value Type='Text'>123456</Value></Eq></Where>"

试试这段代码:

camlQuery.ViewXml = "<View><Query><Where><Eq><FieldRef Name='Account' /><Value Type='Text'>123456</Value></Eq></Where></Query></View>"

我一直在使用 caml。

一些语法来反射(reflect):

camlquery.query = "<query> ..... </query>";
camlquery.ViewXml = "<view> ..... </view>";

抱歉我的英语不好 :S

关于对 sharepoint 的 C# CAML 查询返回列表中的所有项目(而不是仅返回查询值的项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18108235/

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