Package.GetRelationshipsByType(String) Metodo

Definizione

Restituisce un insieme di tutte le relazioni a livello di pacchetto che corrispondono a RelationshipType specificato.Returns a collection of all the package-level relationships that match a given RelationshipType.

public:
 System::IO::Packaging::PackageRelationshipCollection ^ GetRelationshipsByType(System::String ^ relationshipType);
public System.IO.Packaging.PackageRelationshipCollection GetRelationshipsByType (string relationshipType);
member this.GetRelationshipsByType : string -> System.IO.Packaging.PackageRelationshipCollection
Public Function GetRelationshipsByType (relationshipType As String) As PackageRelationshipCollection

Parametri

relationshipType
String

Oggetto RelationshipType al quale corrispondere e da restituire nella raccolta.The RelationshipType to match and return in the collection.

Restituisce

PackageRelationshipCollection

Un insieme di relazioni a livello di pacchetto che corrispondono a relationshipType specificato.A collection of package-level relationships that match the specified relationshipType.

Eccezioni

relationshipType è null.relationshipType is null.

Il parametro relationshipType è una stringa vuota.relationshipType is an empty string.

Il pacchetto non è aperto (Dispose(Boolean) o Close() è stato chiamato).The package is not open (Dispose(Boolean) or Close() has been called).

Il pacchetto è di sola scrittura.The package is write-only.

Esempio

Nell'esempio seguente viene illustrato come recuperare le relazioni definite per il pacchetto.The following example shows how to retrieve the relationships that have been defined for the package. Per l'esempio completo, vedere la pagina relativa alla lettura di un pacchetto di esempio.For the complete sample, see Reading a Package Sample.

// 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.
' Open the Package.
' ('using' statement insures that 'package' is
'  closed and disposed when it goes out of scope.)
Using package As Package = Package.Open(packagePath, FileMode.Open, FileAccess.Read)
    Dim documentPart As PackagePart = Nothing
    Dim resourcePart As PackagePart = Nothing

    ' Get the Package Relationships and look for
    '   the Document part based on the RelationshipType
    Dim uriDocumentTarget As Uri = Nothing
    For Each relationship As PackageRelationship 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)
    Next relationship

    ' Get the Document part's Relationships,
    '   and look for required resources.
    Dim uriResourceTarget As Uri = Nothing
    For Each relationship As PackageRelationship 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)
    Next relationship

End Using ' end:using(Package package) - Close & dispose package.

Commenti

GetRelationships non restituirà mai null . Tuttavia, l'insieme restituito può contenere zero elementi se non sono presenti relazioni a livello di pacchetto corrispondenti all'oggetto specificato relationshipType .GetRelationships will never return null; however the returned collection may contain zero elements if there are no package-level relationships that match the specified relationshipType.

La tabella seguente illustra gli URI a livello relationshipType di pacchetto definiti dalla specifica Open Packaging Conventions (OPC).The following table shows the package-level relationshipType URIs defined by the Open Packaging Conventions (OPC) specification.

Relazione a livello di pacchettoPackage-level Relationship URI del tipo di relazioneRelationship Type URI
Proprietà di baseCore Properties http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties
Firma digitaleDigital Signature http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature
Certificato di firma digitaleDigital Signature Certificate http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate
Origine firma digitaleDigital Signature Origin http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
AnteprimaThumbnail http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Per ulteriori informazioni, vedere la specifica Open Packaging Conventions (OPC) disponibile per il download all'indirizzo https://go.microsoft.com/fwlink/?LinkID=71255 .For additional information, see the Open Packaging Conventions (OPC) specification available for download at https://go.microsoft.com/fwlink/?LinkID=71255.

Si applica a

Vedi anche