コード例 #1
0
        /// <summary>
        /// Charge les repertoires et les channels d'un repertoire
        /// </summary>
        /// <param name="nodeParent">node xml associé au repertoire</param>
        /// <param name="folderParent">repertoire à charger</param>
        public void Load(XmlNode nodeParent, SyndicationFolder folderParent)
        {
            XmlElement element = (XmlElement)nodeParent;

            // charge les sous-repertories de ce repertoires.
            foreach (XmlNode folderNode in element.GetElementsByTagName("folder"))
            {
                if (folderNode.ParentNode.Equals(nodeParent))
                {
                    // creation du sous-repertoire
                    folderParent.CreateSubFolder(folderNode["name"].InnerText);

                    // charge les repertoires et les channels de ce sous-repertoire.
                    Load(folderNode, folderParent.GetSubFolder(folderNode["name"].InnerText));
                }
            }

            // charge les channels de ce repertoire
            foreach (XmlNode channelNode in element.GetElementsByTagName("channel"))
            {
                if (channelNode.ParentNode.Equals(nodeParent))
                {
                    // creation du channel
                    folderParent.CreateChannel(channelNode["name"].InnerText, channelNode["link"].InnerText);
                }
            }
        }