Package.GetRelationshipsByType(String) Método
Definição
Retorna uma coleção de todas as relações de nível de pacote que correspondem a um determinado RelationshipType.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
Parâmetros
- relationshipType
- String
O RelationshipType para corresponder e retornar na coleção.The RelationshipType to match and return in the collection.
Retornos
Uma coleção de relações de nível de pacote que correspondem ao relationshipType especificado.A collection of package-level relationships that match the specified relationshipType.
Exceções
relationshipType é null.relationshipType is null.
relationshipType é uma cadeia de caracteres vazia.relationshipType is an empty string.
O pacote não está aberto (Dispose(Boolean) ou Close() foi chamado).The package is not open (Dispose(Boolean) or Close() has been called).
O pacote é somente gravação.The package is write-only.
Exemplos
O exemplo a seguir mostra como recuperar as relações que foram definidas para o pacote.The following example shows how to retrieve the relationships that have been defined for the package. Para obter o exemplo completo, consulte lendo um exemplo de pacote.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.
Comentários
GetRelationships nunca retornará null ; no entanto, a coleção retornada poderá conter zero elementos se não houver nenhuma relação de nível de pacote que corresponda ao especificado 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.
A tabela a seguir mostra os URIs de nível de pacote relationshipType definidos pela especificação OPC (Open Packaging Conventions).The following table shows the package-level relationshipType URIs defined by the Open Packaging Conventions (OPC) specification.
| Relação de nível de pacotePackage-level Relationship | URI do tipo de relaçãoRelationship Type URI |
|---|---|
| Propriedades de núcleoCore Properties | http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties |
| Assinatura digitalDigital Signature | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature |
| Certificado de assinatura digitalDigital Signature Certificate | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate |
| Origem da assinatura digitalDigital Signature Origin | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin |
| ThumbnailThumbnail | http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail |
Para obter informações adicionais, consulte Especificação do OPC (Open Packaging Conventions) disponível para download em 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.