C # XML Сериализация double [] в один разделенный пробелами элемент - PullRequest
3 голосов
/ 24 мая 2009

Я пишу приложение на C # для сериализации и массива типа double или float в один элемент XML, который представляет собой разделенный пробелами список значений в массиве.

double[] d = new double[4] { 1.0, 2.0, 3.0, 4.0 };

к элементу XML:

<ArrayOfDouble type="double">1.0 2.0 3.0 4.0</ArrayOfDouble>

Я пытаюсь использовать XmlSerializer для выполнения сериализации. Любая помощь в том, как сделать это просто, будет принята с благодарностью.

Тим

1 Ответ

4 голосов
/ 24 мая 2009

Вы можете попробовать что-то вроде следующего. Мой образец использует LINQ. Если вы используете VS2005 или более раннюю версию, дайте мне знать, и я обновлю ответ.

class Example {
  [XmlIgnore]
  public double[] DoubleValue { get ... set ... }

  public string ArrayOfDouble {
    get { return DoubleValue.Select(x => x.ToString()).Aggregate( (x,y) => x + " " + y); }
    set { Doublevalue = value.Split(' ').Select(x => Double.Parse(x)).ToArray(); }
  }
}
...