using System.Globalization; using System.Xml; namespace MediaBrowser.Controller.Xml { public static class XmlExtensions { private static readonly 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; } } }