/// <summary> /// Adds the specified node in order of the 'sortOrder' attribute to the children of this node. /// </summary> /// <param name="xmlChild">The child element to add to the parent element.</param> public void InsertBySortOrder(CommonElement xmlChild) { // Get the attribute used in the sorting. string childSortCode = xmlChild.GetAttribute("SortOrder"); // This does a quick insert sort based on the value of the 'sortOrder' attribute. foreach (XmlElement xmlElement in this) { if (Convert.ToInt32(xmlElement.GetAttribute("SortOrder")) > Convert.ToInt32(childSortCode)) { this.InsertBefore(xmlChild, xmlElement); return; } } // If the 'sortOrder' attribute is larger than any of the siblings, it goes at the end of the list. this.AppendChild(xmlChild); }
/// <summary> /// Adds the specified node in order of the 'name' attribute to the children of this node. /// </summary> /// <param name="xmlChild">The child element to add to the parent element.</param> public void InsertByName(CommonElement xmlChild) { // Get the attribute used in the sorting. string childSortCode = xmlChild.GetAttribute("Name"); // This does a quick insert sort based on the value of the 'name' attribute. foreach (XmlElement xmlElement in this) { if (String.Compare(xmlElement.GetAttribute("Name"), childSortCode) > 0) { this.InsertBefore(xmlChild, xmlElement); return; } } // If the 'name' attribute is larger than any of the siblings, it goes at the end of the list. this.AppendChild(xmlChild); }