代码之家  ›  专栏  ›  技术社区  ›  Tim

双[]到单空格分隔元素的C XML序列化

  •  3
  • Tim  · 技术社区  · 17 年前

    我正在用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 回复  |  直到 12 年前
        1
  •  4
  •   caesay    12 年前

    你可以尝试如下的方法。我的样本使用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(); }
      }
    }