예제 #1
0
        public void BuildItemVersionSettings(bool exportAll)
        {
            XmlNode publishNode  = this._doc.SelectSingleNode("publish");
            XmlNode settingsNode = this._doc.CreateElement("itemversionsettings");

            List <ItemVersionSetting> settings = exportAll
                                                    ? ItemVersionSetting.GetItemVersionSettingsByPortalId(this._portalId)
                                                    : ItemVersionSetting.GetItemVersionSettingsByModuleId(this._moduleId, this._portalId);

            foreach (ItemVersionSetting setting in settings)
            {
                string xml    = setting.SerializeObjectToXml();
                var    xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(xml);

                // strip off namespace and schema
                XmlNode node = xmlDoc.SelectSingleNode("itemversionsetting");
                node.Attributes.Remove(node.Attributes["xmlns:xsd"]);
                node.Attributes.Remove(node.Attributes["xmlns:xsi"]);

                settingsNode.AppendChild(this._doc.ImportNode(node, true));
            }

            publishNode.AppendChild(this._doc.ImportNode(settingsNode, true));
        }