Package.GetRelationshipsByType(String) Metodo

Definizione

Restituisce un insieme di tutte le relazioni a livello di pacchetto che corrispondono a RelationshipType specificato.

public System.IO.Packaging.PackageRelationshipCollection GetRelationshipsByType (string relationshipType);

Parametri

relationshipType
String

Oggetto RelationshipType al quale corrispondere e da restituire nella raccolta.

Restituisce

Un insieme di relazioni a livello di pacchetto che corrispondono a relationshipType specificato.

Eccezioni

relationshipType è null.

Il parametro relationshipType è una stringa vuota.

Il pacchetto non è aperto (Dispose(Boolean) o Close() è stato chiamato).

Il pacchetto è di sola scrittura.

Esempio

Nell'esempio seguente viene illustrato come recuperare le relazioni definite per il pacchetto.

// Open the Package.
// ('using' statement insures that 'package' is
//  closed and disposed when it goes out of scope.)
using (Package package =
    Package.Open(packagePath, FileMode.Open, FileAccess.Read))
{
    PackagePart documentPart = null;
    PackagePart resourcePart = null;

    // Get the Package Relationships and look for
    //   the Document part based on the RelationshipType
    Uri uriDocumentTarget = null;
    foreach (PackageRelationship relationship in
        package.GetRelationshipsByType(PackageRelationshipType))
    {
        // Resolve the Relationship Target Uri
        //   so the Document Part can be retrieved.
        uriDocumentTarget = PackUriHelper.ResolvePartUri(
            new Uri("/", UriKind.Relative), relationship.TargetUri);

        // Open the Document Part, write the contents to a file.
        documentPart = package.GetPart(uriDocumentTarget);
        ExtractPart(documentPart, targetDirectory);
    }

    // Get the Document part's Relationships,
    //   and look for required resources.
    Uri uriResourceTarget = null;
    foreach (PackageRelationship relationship in
        documentPart.GetRelationshipsByType(
                                ResourceRelationshipType))
    {
        // Resolve the Relationship Target Uri
        //   so the Resource Part can be retrieved.
        uriResourceTarget = PackUriHelper.ResolvePartUri(
            documentPart.Uri, relationship.TargetUri);

        // Open the Resource Part and write the contents to a file.
        resourcePart = package.GetPart(uriResourceTarget);
        ExtractPart(resourcePart, targetDirectory);
    }
}// end:using(Package package) - Close & dispose package.

Commenti

GetRelationships non restituirà nullmai ; tuttavia la raccolta restituita potrebbe contenere zero elementi se non sono presenti relazioni a livello di pacchetto che corrispondono all'oggetto specificato relationshipType.

Nella tabella seguente vengono illustrati gli URI a livello relationshipType di pacchetto definiti dalla specifica OPC (Open Packaging Conventions).

Relazione a livello di pacchetto URI del tipo di relazione
Proprietà principali http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties
Firma digitale http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature
Certificato firma digitale http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate
Origine firma digitale http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
Anteprima http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Per altre informazioni, vedere la specifica Open Packaging Conventions (OPC) disponibile per il download in https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

Si applica a

Prodotto Versioni
.NET Core 1.0, Core 1.1, 8 (package-provided), 9 (package-provided)
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Vedi anche