Exemple #1
0
        /// <summary>
        /// The read list element from xml.
        /// </summary>
        /// <param name="reader">
        /// The reader.
        /// </param>
        /// <returns>
        /// The <see cref="List"/>.
        /// </returns>
        /// <exception cref="SettingsException">
        /// </exception>
        internal static List <DataCollectorSettings> ReadListElementFromXml(XmlReader reader, string dataCollectorsName)
        {
            List <DataCollectorSettings> settings = new List <DataCollectorSettings>();
            bool empty = reader.IsEmptyElement;

            if (reader.HasAttributes)
            {
                reader.MoveToNextAttribute();
                throw new SettingsException(
                          string.Format(
                              CultureInfo.CurrentCulture,
                              Resources.Resources.InvalidSettingsXmlAttribute,
                              dataCollectorsName,
                              reader.Name));
            }

            reader.Read();
            if (!empty)
            {
                while (reader.NodeType == XmlNodeType.Element)
                {
                    if (reader.Name.Equals(dataCollectorsName))
                    {
                        settings.Add(DataCollectorSettings.FromXml(reader));
                    }
                    else
                    {
                        throw new SettingsException(
                                  string.Format(
                                      CultureInfo.CurrentCulture,
                                      Resources.Resources.InvalidSettingsXmlElement,
                                      dataCollectorsName,
                                      reader.Name));
                    }
                }

                reader.ReadEndElement();
            }

            return(settings);
        }