如何获取SharePoint文档库中项目的内容类型列或元数据?

此链接提供了我不需要的文件属性
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfile.properties.aspx

我只想获取项目的内容类型列。
我尝试了这个字符串strXML = oItem.Xml.ToString();但这给了我同样的垃圾。

最佳答案

您可以使用ContentTypeSPListItem属性。如果要在列表中包含所有内容类型,则可以使用ContentTypesSPList属性。一旦有了内容类型引用,就可以检查其Fields属性以获取列。

列表项的内容类型:

SPContentType contentType = myListItem.ContentType;

foreach (SPField field in contentType)
{
    // Do your stuff with this column
}


列表的内容类型:

SPContentTypeCollection contentTypes = myList.ContentTypes;
List<object> values = new List<object>();
List<SPContentTypeId> blackList = new List<SPContentTypeId>()
{
    SPBuiltInContentTypeId.System,
    SPBuiltInContentTypeId.Item,
};

var goodContentTypes = contentTypes.Where(c => !blackList.Contains(c.Id));

foreach (SPContentType contentType in goodContentTypes)
{
    foreach (SPField field in contentType.Fields)
    {
        // Do your stuff with this column e.g. Get value from item
        values.Add(myListItem[field.InternalName]);
    }
}

关于c# - 获取项目的内容类型列/元数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5197452/

10-13 02:00