日期:2014-05-18 浏览次数:20912 次
  <Measurement Name="SpdupPlinqVs1">
    <value>100</value>
    <value>110</value>
    <value>120</value>
  </Measurement>
[XmlRootAttribute("Measurement")]
public class MeasurementResult
{
    [NonSerialized]
    private string measurementName = "";
    [NonSerialized]
    private List<string> valueList = new List<string>();
    public MeasurementResult()
    { 
    }
    [XmlAttribute("Name")]
    public string MeasurementName
    {
        get
        {
            return measurementName;
        }
        set
        {
            measurementName = value;
        }
    }
    [XmlArrayItem("value")]
    public List<string> ValueList
    {
        get
        {
            return valueList;
        }
        set
        {
            valueList.Clear();
            if (value != null)
            {
                valueList.AddRange(value);
            }
        }
    }
}
private void Serialize()
{
    string filePath = "e:\\111111.xml";
    MeasurementResult result = new MeasurementResult();
    result.MeasurementName = "test";
    result.ValueList.AddRange(new string[] { "1", "2", "3" });
    XmlSerializer mySerializer = new XmlSerializer(typeof(MeasurementResult));
    StreamWriter myWriter = new StreamWriter(filePath);
    XmlSerializerNamespaces xmlns = new XmlSerializerNamespaces();
    xmlns.Add(String.Empty, String.Empty);
    mySerializer.Serialize(myWriter, result, xmlns);
    myWriter.Close();
}
private MeasurementResult Deserialize()
{
    string filePath = "e:\\111111.xml";
    XmlSerializer mySerializer = new XmlSerializer(typeof(MeasurementResult));
    FileStream myFileStream = new FileStream(filePath, FileMode.Open);
    MeasurementResult result = mySerializer.Deserialize(myFileStream) as MeasurementResult;
    myFileStream.Close();
    return result;
}