private static void WriteBlogPostSettingsBag(XmlTextWriter writer, BlogPostSettingsBag settings, string name) { writer.WriteStartElement(SETTINGS_BAG_ELEMENT); WriteNonNullAttribute(writer, SETTINGS_BAG_NAME_ATTRIBUTE, name); foreach (string key in settings.Names) { writer.WriteStartElement(SETTINGS_BAG_SETTING_ELEMENT); writer.WriteAttributeString(SETTINGS_BAG_NAME_ATTRIBUTE, key); WriteNonNullAttribute(writer, SETTINGS_BAG_VALUE_ATTRIBUTE, settings[key]); writer.WriteEndElement(); //end SETTINGS_BAG_SETTING_ELEMENT } //save out the subsettings foreach (string subSettingName in settings.SubsettingNames) { WriteBlogPostSettingsBag(writer, settings.GetSubSettings(subSettingName), subSettingName); } writer.WriteEndElement(); //end SETTINGS_BAG_ELEMENT }