System.IO.Packaging.Package.LoadRelationships C# (CSharp) Méthode

LoadRelationships() private méthode

private LoadRelationships ( ) : void
Résultat void
        private void LoadRelationships()
        {
            relationships = new Dictionary<string, PackageRelationship>();

            if (!PartExists(RelationshipUri))
                return;

            using (Stream stream = GetPart(RelationshipUri).GetStream())
            {
                XmlDocument doc = new XmlDocument();
                doc.Load(stream);
                XmlNamespaceManager manager = new XmlNamespaceManager(doc.NameTable);
                manager.AddNamespace("rel", RelationshipNamespace);

                foreach (XmlNode node in doc.SelectNodes("/rel:Relationships/*", manager))
                {
                    TargetMode mode = TargetMode.Internal;
                    if (node.Attributes["TargetMode"] != null)
                        mode = (TargetMode) Enum.Parse(typeof (TargetMode), node.Attributes["TargetMode"].Value);

                    Uri uri;
                    try
                    {
                        uri = new Uri(node.Attributes["Target"].Value.ToString(), UriKind.Relative);
                    }
                    catch
                    {
                        uri = new Uri(node.Attributes["Target"].Value.ToString(), UriKind.Absolute);
                    }
                    CreateRelationship(uri,
                        mode,
                        node.Attributes["Type"].Value.ToString(),
                        node.Attributes["Id"].Value.ToString(),
                        true);
                }

                foreach (PackageRelationship r in relationships.Values)
                {
                    if (r.RelationshipType == PackageProperties.NSPackagePropertiesRelation)
                    {
                        PackagePart part = GetPart(PackUriHelper.ResolvePartUri(Uri, r.TargetUri));
                        packageProperties = new PackagePropertiesPart();
                        packageProperties.Package = this;
                        packageProperties.Part = part;
                        packageProperties.LoadFrom(part.GetStream());
                    }
                }
            }
        }