Пример #1
0
        public bool LoadFromDeveloppezXML(MagazineTypeCategorie categorie, XDocument xDoc)
        {
            bool     ok    = true;
            XElement xRoot = xDoc.Root;

            this.XDocument = xDoc;
            this.Categorie = categorie;


            if (xRoot.Name == "document")
            {
                XElement xTitre    = xRoot.XPathSelectElement("entete/titre/article");
                XElement xSynopsis = xRoot.XPathSelectElement("synopsis");
                XElement xRubrique = xRoot.XPathSelectElement("entete/rubrique");
                XElement xSummary  = xRoot.XPathSelectElement("summary");
                XElement xURL      = xRoot.XPathSelectElement("entete/urlhttp");
                IEnumerable <XElement> xAuteurs = xRoot.XPathSelectElements("authorDescriptions/authorDescription");
                List <AuteurType>      auteurs  = new List <AuteurType>();

                this.Titre    = xTitre.Value;
                this.Synopsis = Contenu.Create(this, xSynopsis, ContenuContexteEnum.ZoneRedigee);
                this.Rubrique = CategorieExtension.FromID(xRubrique.Value).ToLabel();
                this.Contenu  = Contenu.Create(this, xSummary, ContenuContexteEnum.Contenu);
                this.URL      = xURL.Value;

                foreach (XElement xAuteur in xAuteurs)
                {
                    AuteurType auteur = AuteurType.LoadFromDeveloppezXML(xAuteur);

                    if (auteur != null)
                    {
                        auteurs.Add(auteur);
                    }
                }

                this.Auteurs = auteurs;
            }
            else
            {
                ok = false;
            }

            return(ok);
        }
Пример #2
0
        internal static AuteurType LoadFromDeveloppezXML(XElement xAuteur)
        {
            AuteurType auteur    = new AuteurType();
            XElement   xFullName = xAuteur.XPathSelectElement("fullname");
            XElement   xURL      = xAuteur.XPathSelectElement("url");
            XAttribute xRole     = xAuteur.Attribute("role");

            if (xFullName != null)
            {
                auteur.NomComplet = xFullName.Value;
            }

            if (xURL != null)
            {
                auteur.URL = xURL.Value;
            }

            if (xRole != null)
            {
                switch (xRole.Value)
                {
                case "auteur":
                    auteur.Role = AuteurRoleEnum.Auteur;
                    break;

                case "traducteur":
                    auteur.Role = AuteurRoleEnum.Traducteur;
                    break;

                default:
                    auteur = null;
                    break;
                }
            }
            else
            {
                auteur = null;
            }


            return(auteur);
        }