Sharepoint 2010 获取listItem.fieldValues客户端对象模型Sharepoint 2010的列表

Sharepoint 2010 获取listItem.fieldValues客户端对象模型Sharepoint 2010的列表,sharepoint-2010,sharepoint-clientobject,Sharepoint 2010,Sharepoint Clientobject,出于备份原因,我正在构建一个Sharepoint 2010导出工具(有点像Metavis中的filemanager) 将文件下载到本地磁盘时,我需要备份与文档关联的元数据。我会将其存储在csv文件中。我的第一种方法是迭代所有listItem.fieldvalues,但这实际上不起作用,因为有些fieldvalues是复杂的类型,这将不必要地使备份文件复杂化。有些值甚至有行尾,例如“MetaInfo”。此外,在可能需要恢复内容时,并不需要所有值 因此,我的想法是只从Fieldvalues集合中获取

出于备份原因,我正在构建一个Sharepoint 2010导出工具(有点像Metavis中的filemanager)

将文件下载到本地磁盘时,我需要备份与文档关联的元数据。我会将其存储在csv文件中。我的第一种方法是迭代所有listItem.fieldvalues,但这实际上不起作用,因为有些fieldvalues是复杂的类型,这将不必要地使备份文件复杂化。有些值甚至有行尾,例如“MetaInfo”。此外,在可能需要恢复内容时,并不需要所有值

因此,我的想法是只从Fieldvalues集合中获取功能恢复所需的值,并辅以所有用户添加的元数据

为此,我想对照排除列表检查所有字段值,看看它是否存在。如果有,不要后退。如果是,它要么是用户生成的元数据,要么是我需要的值,比如“author”、“created”

所以我的问题是,有人知道所有字段值键的列表吗? 还是有更好的方法解决我的问题

谢谢


更新:好吧,因为我正在以任何方式迭代FieldValues集合。将所有值转储到CSV很容易。运行一次就足以得到所有的值。现在我只需要编写一个用于配置的xml文件。这就留下了一个问题:有更好的方法吗?

通过编写以下代码过滤列表字段 使用制度; 使用Microsoft.SharePoint.Client

    clientContext.Load(
         listItems,
         items => items
             .Include(
                 item => item["Title"],
                 item => item["Category"],
                 item => item["Estimate"]));
资料来源:


您可以创建一个包含所有字段的视图,使用sharepoint对象模型获取视图,并从集合中获取其列名,然后根据需要对其进行筛选。

我已经完成了应用程序。正如我在更新中所写,我通过将所有字段值导出到CSV文件,列出了所有字段值。之后,我制作了一个带有布尔值“Backup”的配置文件。这样就可以控制在进行备份时要使用哪些值

我想我不需要配置文件。备份时使用的值是程序整个工作的重要组成部分,因此配置文件给管理员或临时未来开发人员的印象是,简单的重新配置将满足这些需求

我现在可以看到,如果程序由于新的需求而需要更改,那么代码无论如何都必须更改。因此,即使将值设置为“True”,也会更改输出。还必须编写一些其他代码。如果我再写一遍,我可能会使用常量。这使它的动态性降低,但仍能满足程序的需要


(顺便说一句,从标准字段值以外的所有名称开始就可以了。我会在这里发布它,但我再也无法访问该文件,因为我最近切换了作业。)

我确实使用了客户端对象模型。据我从你的代码片段判断,仍然需要一些配置;检索带有字符串的项目时,必须以某种方式知道该字符串。这让我们回到了开始。如何知道所有的价值观?