VCardRootPackage
内容
 [
        
            隐藏
        ]
    VCardRootPackage class
表示允许使用 VCard 文件中的元数据的根包。
public class VCardRootPackage : RootMetadataPackage
特性
| 姓名 | 描述 | 
|---|---|
| Count { get; } | 获取元数据属性的数量。 | 
| FileType { get; } | 获取文件类型元数据包。 | 
| Item { get; } | 获取MetadataProperty具有指定名称. | 
| Keys { get; } | 获取元数据属性名称的集合。 | 
| MetadataType { get; } | 获取元数据类型。 | 
| PropertyDescriptors { get; } | 获取描述符集合,其中包含有关可通过 GroupDocs.Metadata 搜索引擎访问的属性的信息。 | 
| VCardPackage { get; } | 获取 VCard 元数据包。 | 
方法
| 姓名 | 描述 | 
|---|---|
| AddProperties(Func<MetadataProperty, bool>, PropertyValue) | 添加满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 | 
| Contains(string) | 确定包是否包含具有指定名称的元数据属性。 | 
| virtual FindProperties(Func<MetadataProperty, bool>) | 查找满足指定谓词的元数据属性。 搜索是递归的,因此它也会影响所有嵌套包。 | 
| GetEnumerator() | 返回一个遍历集合的枚举器。 | 
| virtual RemoveProperties(Func<MetadataProperty, bool>) | 删除满足指定谓词的元数据属性。 | 
| override Sanitize() | 从包中删除可写元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 | 
| SetProperties(Func<MetadataProperty, bool>, PropertyValue) | 设置满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 此方法是以下方法的组合AddProperties和UpdateProperties 如果现有属性满足谓词,则更新其值。 如果包中缺少满足谓词的已知属性,则将其添加到包中。 | 
| UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) | 更新满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 | 
评论
了解更多
例子
此代码示例演示如何读取 vCard 文件的元数据属性。
public static void Run()
{
    using (Metadata metadata = new Metadata(Constants.InputVcf))
    {
        var root = metadata.GetRootPackage<VCardRootPackage>();
        foreach (var vCard in root.VCardPackage.Cards)
        {
            Console.WriteLine(vCard.IdentificationRecordset.Name);
            PrintArray(vCard.IdentificationRecordset.FormattedNames);
            PrintArray(vCard.CommunicationRecordset.Emails);
            PrintArray(vCard.CommunicationRecordset.Telephones);
            PrintArray(vCard.DeliveryAddressingRecordset.Addresses);
            // ...
        }
    }
}
private static void PrintArray(string[] values)
{
    if (values != null)
    {
        foreach (string value in values)
        {
            Console.WriteLine(value);
        }
    }
}