GetRootPackage

GetRootPackage()

获取根包,提供对从文件中提取的所有元数据属性的访问权限。

public RootMetadataPackage GetRootPackage()

返回值

根包提供对从文件中提取的所有元数据属性的访问。

评论

了解更多

例子

此示例演示如何遍历特定文件的整个元数据树,而不考虑格式。

public static void Run()
{
    using (Metadata metadata = new Metadata(Constants.JpegWithXmp))
    {
        DisplayMetadataTree(metadata.GetRootPackage(), 0);
    }
}

private static void DisplayMetadataTree(MetadataPackage package, int indent)
{
    if (package != null)
    {
        var stringMetadataType = package.MetadataType.ToString();
        Console.WriteLine(stringMetadataType.PadLeft(stringMetadataType.Length + indent));
        foreach (MetadataProperty property in package)
        {
            string stringPropertyRepresentation = string.Format("Name: {0}, Value: {1}", property.Name, property.Value);
            Console.WriteLine(stringPropertyRepresentation.PadLeft(stringPropertyRepresentation.Length + indent + 1));
            if (property.Value != null)
            {
                switch (property.Value.Type)
                {
                    case MetadataPropertyType.Metadata:
                        DisplayMetadataTree(property.Value.ToClass<MetadataPackage>(), indent + 2);
                    break;
                    case MetadataPropertyType.MetadataArray:
                        DisplayMetadataTree(property.Value.ToArray<MetadataPackage>(), indent + 2);
                    break;
                }
            }
        }
    }
}

private static void DisplayMetadataTree(MetadataPackage[] packages, int indent)
{
    if (packages != null)
    {
        foreach (var package in packages)
        {
            DisplayMetadataTree(package, indent);
        }
    }
}

也可以看看


GetRootPackage<TRoot>()

获取根包,提供对从文件中提取的所有元数据属性的访问权限。

public TRoot GetRootPackage<TRoot>()
    where TRoot : RootMetadataPackage
范围 描述
TRoot 根包的确切类型。

返回值

根包提供对从文件中提取的所有元数据属性的访问。

评论

了解更多

也可以看看