| 1 | using System; | 
 
 
 
 
 | 2 | using System.Text; | 
 
 
 
 
 | 3 | using System.Xml; | 
 
 
 
 
 | 4 |  | 
 
 
 
 
 | 5 | namespace Oni.Xml | 
 
 
 
 
 | 6 | { | 
 
 
 
 
 | 7 | internal static class XmlWriterExtensions | 
 
 
 
 
 | 8 | { | 
 
 
 
 
 | 9 | public static void WriteFloatArray(this XmlWriter writer, float[] array) | 
 
 
 
 
 | 10 | { | 
 
 
 
 
 | 11 | writer.WriteArray(array, XmlConvert.ToString); | 
 
 
 
 
 | 12 | } | 
 
 
 
 
 | 13 |  | 
 
 
 
 
 | 14 | public static void WriteArray<T>(this XmlWriter writer, T[] array, Func<T, string> converter) | 
 
 
 
 
 | 15 | { | 
 
 
 
 
 | 16 | var text = new StringBuilder(array.Length * 8); | 
 
 
 
 
 | 17 |  | 
 
 
 
 
 | 18 | for (int i = 0; i < array.Length; i++) | 
 
 
 
 
 | 19 | { | 
 
 
 
 
 | 20 | if (i != array.Length - 1) | 
 
 
 
 
 | 21 | text.AppendFormat("{0} ", converter(array[i])); | 
 
 
 
 
 | 22 | else | 
 
 
 
 
 | 23 | text.Append(converter(array[i])); | 
 
 
 
 
 | 24 | } | 
 
 
 
 
 | 25 |  | 
 
 
 
 
 | 26 | writer.WriteValue(text.ToString()); | 
 
 
 
 
 | 27 | } | 
 
 
 
 
 | 28 | } | 
 
 
 
 
 | 29 | } |