jellyfin-server/MediaBrowser.Controller/Xml/XmlExtensions.cs

47 lines
1.3 KiB
C#
Raw Normal View History

using System.Globalization;
2012-07-12 06:55:27 +00:00
using System.Xml;
namespace MediaBrowser.Controller.Xml
{
public static class XmlExtensions
{
2012-09-11 18:20:12 +00:00
private static readonly CultureInfo _usCulture = new CultureInfo("en-US");
2012-07-12 06:55:27 +00:00
/// <summary>
/// Reads a float from the current element of an XmlReader
/// </summary>
2012-08-20 21:48:11 +00:00
public static float ReadFloatSafe(this XmlReader reader)
2012-07-12 06:55:27 +00:00
{
2012-08-20 21:48:11 +00:00
string valueString = reader.ReadElementContentAsString();
2012-07-12 06:55:27 +00:00
float value = 0;
2012-07-12 06:55:27 +00:00
if (!string.IsNullOrWhiteSpace(valueString))
2012-07-12 06:55:27 +00:00
{
// float.TryParse is local aware, so it can be probamatic, force us culture
float.TryParse(valueString, NumberStyles.AllowDecimalPoint, _usCulture, out value);
2012-07-12 06:55:27 +00:00
}
return value;
2012-07-12 06:55:27 +00:00
}
/// <summary>
/// Reads an int from the current element of an XmlReader
/// </summary>
2012-08-20 21:48:11 +00:00
public static int ReadIntSafe(this XmlReader reader)
2012-07-12 06:55:27 +00:00
{
2012-08-20 21:48:11 +00:00
string valueString = reader.ReadElementContentAsString();
2012-07-12 06:55:27 +00:00
int value = 0;
if (!string.IsNullOrWhiteSpace(valueString))
2012-07-12 06:55:27 +00:00
{
int.TryParse(valueString, out value);
2012-07-12 06:55:27 +00:00
}
return value;
2012-07-12 06:55:27 +00:00
}
}
}