ZipRootPackage
Contents
 [
        
            Hide
        ]
    ZipRootPackage class
Represents the root package allowing working with metadata in a ZIP archive.
public class ZipRootPackage : RootMetadataPackage
Properties
| Name | Description | 
|---|---|
| Count { get; } | Gets the number of metadata properties. | 
| FileType { get; } | Gets the file type metadata package. | 
| Item { get; } | Gets the MetadataProperty with the specified name. | 
| Keys { get; } | Gets a collection of the metadata property names. | 
| MetadataType { get; } | Gets the metadata type. | 
| PropertyDescriptors { get; } | Gets a collection of descriptors that contain information about properties accessible through the GroupDocs.Metadata search engine. | 
| ZipPackage { get; } | Gets the ZIP metadata package. | 
Methods
| Name | Description | 
|---|---|
| virtual AddProperties(Func<MetadataProperty, bool>, PropertyValue) | Adds known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well. | 
| Contains(string) | Determines whether the package contains a metadata property with the specified name. | 
| virtual FindProperties(Func<MetadataProperty, bool>) | Finds the metadata properties satisfying the specified predicate. The search is recursive so it affects all nested packages as well. | 
| GetEnumerator() | Returns an enumerator that iterates through the collection. | 
| virtual RemoveProperties(Func<MetadataProperty, bool>) | Removes metadata properties satisfying the specified predicate. | 
| override Sanitize() | Removes writable metadata properties from the package. The operation is recursive so it affects all nested packages as well. | 
| virtual SetProperties(Func<MetadataProperty, bool>, PropertyValue) | Sets known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well. This method is a combination of AddProperties and UpdateProperties. If an existing property satisfies the predicate its value is updated. If there is a known property missing in the package that satisfies the predicate it is added to the package. | 
| virtual UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) | Updates known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well. | 
Remarks
Learn more
Examples
The following code snippet shows how to get metadata from a ZIP archive.
Encoding encoding = Encoding.GetEncoding(866);
using (Metadata metadata = new Metadata(Constants.InputZip))
{
    var root = metadata.GetRootPackage<ZipRootPackage>();
    Console.WriteLine(root.ZipPackage.Comment);
    Console.WriteLine(root.ZipPackage.TotalEntries);
    foreach (var file in root.ZipPackage.Files)
    {
        Console.WriteLine(file.Name);
        Console.WriteLine(file.CompressedSize);
        Console.WriteLine(file.CompressionMethod);
        Console.WriteLine(file.Flags);
        Console.WriteLine(file.ModificationDateTime);
        Console.WriteLine(file.UncompressedSize);
        // Use a specific encoding for the file names
        Console.WriteLine(encoding.GetString(file.RawName));
    }
}
See Also
- class RootMetadataPackage
 - namespace GroupDocs.Metadata.Formats.Archive
 - assembly GroupDocs.Metadata