private void writeXMLItems(XMLItem rootItem, Values userValues, Values defaultValues) { foreach (KeyValuePair <String, StringValue> kvValue in userValues) { // // get the user values String userValue = kvValue.Value.Value; Values childUserValues = (Values)kvValue.Value; // // get the default values String defaultValue = null; Values childDefaultValues = null; if (defaultValues != null && defaultValues.ContainsKey(kvValue.Key)) { defaultValue = defaultValues[kvValue.Key].Value; childDefaultValues = (Values)defaultValues[kvValue.Key]; } // // compare user and default values if (childUserValues.Count == 0 && String.Compare(userValue, defaultValue) == 0) { continue; } // // write the user values String name = kvValue.Key; try { int.Parse(kvValue.Key); name = "item"; } catch (FormatException) { } // XMLItem xmlItem = new XMLItem(name); if (kvValue.Value != null && kvValue.Value.Value != null && kvValue.Value.Value != String.Empty) { xmlItem.Value = new Value(kvValue.Value.Value); } rootItem.Add(xmlItem); // this.writeXMLItems(xmlItem, childUserValues, childDefaultValues); } }
private void writeXMLItems(XMLItem rootItem, Values userValues, Values defaultValues) { foreach (KeyValuePair<String, StringValue> kvValue in userValues) { // // get the user values String userValue = kvValue.Value.Value; Values childUserValues = (Values)kvValue.Value; // // get the default values String defaultValue = null; Values childDefaultValues = null; if (defaultValues != null && defaultValues.ContainsKey(kvValue.Key)) { defaultValue = defaultValues[kvValue.Key].Value; childDefaultValues = (Values)defaultValues[kvValue.Key]; } // // compare user and default values if (childUserValues.Count == 0 && String.Compare(userValue, defaultValue) == 0) { continue; } // // write the user values String name = kvValue.Key; try { int.Parse(kvValue.Key); name = "item"; } catch (FormatException) { } // XMLItem xmlItem = new XMLItem(name); if (kvValue.Value != null && kvValue.Value.Value != null && kvValue.Value.Value != String.Empty) { xmlItem.Value = new Value(kvValue.Value.Value); } rootItem.Add(xmlItem); // this.writeXMLItems(xmlItem, childUserValues, childDefaultValues); } }