如何获取SharePoint文档库中项目的内容类型列或元数据?
此链接提供了我不需要的文件属性
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfile.properties.aspx
我只想获取项目的内容类型列。
我尝试了这个字符串strXML = oItem.Xml.ToString();但这给了我同样的垃圾。
最佳答案
您可以使用ContentType
的SPListItem
属性。如果要在列表中包含所有内容类型,则可以使用ContentTypes
的SPList
属性。一旦有了内容类型引用,就可以检查其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/