using System.Globalization;
using System.Xml;
namespace MediaBrowser.Controller.Xml
{
    public static class XmlExtensions
    {
        private static CultureInfo _usCulture = new CultureInfo("en-US");
        /// 
        /// Reads a float from the current element of an XmlReader
        /// 
        public static float ReadFloatSafe(this XmlReader reader)
        {
            string valueString = reader.ReadElementContentAsString();
            float value = 0;
            if (!string.IsNullOrWhiteSpace(valueString))
            {
                // float.TryParse is local aware, so it can be probamatic, force us culture
                float.TryParse(valueString, NumberStyles.AllowDecimalPoint, _usCulture, out value);
            }
            return value;
        }
        /// 
        /// Reads an int from the current element of an XmlReader
        /// 
        public static int ReadIntSafe(this XmlReader reader)
        {
            string valueString = reader.ReadElementContentAsString();
            int value = 0;
            if (!string.IsNullOrWhiteSpace(valueString))
            {
                int.TryParse(valueString, out value);
            }
            return value;
        }
        /// 
        /// Reads an int from the current element of an XmlReader
        /// 
        public static string ReadString(this XmlReader reader)
        {
            return reader.ReadElementContentAsString();
        }
    }
}