Exemple #1
0
        public void Parse(string uri)
        {
            this.Title = uri.Split('\\').LastOrDefault().Replace(".xml", "");
            XDocument xml = XDocument.Load(uri);

            foreach (XElement element in xml.Descendants("member"))
            {
                string[] memberName = element.Attribute("name").Value.Split(':');
                AMember  member     = MemberFactory.CreateAMember(memberName[0]);
                member.SetAssemblyName(memberName[1]);
                member.Parse(element);
                bool isNew = true;
                foreach (KeyValuePair <string, Assembly> keyValue in this.Pages)
                {
                    foreach (AMember aMember in keyValue.Value.Members)
                    {
                        if (member.AssemblyName.Contains(aMember.AssemblyName + "." + aMember.Name))
                        {
                            isNew = false;
                            aMember.Members.Add(member);
                        }
                    }
                }
                if (isNew)
                {
                    if (!this.Pages.ContainsKey(member.AssemblyName))
                    {
                        this.Pages.Add(member.AssemblyName, new Assembly()
                        {
                            Name = member.AssemblyName
                        });
                    }
                    this.Pages[member.AssemblyName].Members.Add(member);
                }
            }
        }