-1

モデルを個々の XML ファイルとして保存し、ユーザーが読み込み、保存、インポートできるようにしたいと考えています。Enum や System.Windows.Media.Color などのシステム型を XML ファイルにシリアライズ/デシリアライズできますか?

 public enum WeatherType
 {
    Rainy,
    Sunny,
    Cloudy,
    Windy
 }

[Serializable]
[XmlRoot("Profile")]
public class Profile
{
    public string ProfileName { get; set; }
    public System.Windows.Media.Color ProfileColor { get; set; }
    public string City { get; set; }
    public double MinTemp { get; set; }
    public double MaxTemp { get; set; }
    public List<WeatherType> WeatherTypes { get; set; }
}

うまくいかないようです:/

4

2 に答える 2

1

何が問題なのかわからない。もう少し情報をいただけますか。

これがサンプルコードです

static void Main(string[] args)
{
    Profile p = new Profile();
    p.ProfileColor = System.Windows.Media.Color.FromArgb(1, 1, 1, 0);
    p.WeatherTypes = new List<WeatherType>
        {
            WeatherType.Cloudy,
            WeatherType.Windy
        };
    var serializer = new XmlSerializer(typeof(Profile));
    var sb = new StringBuilder();
    TextWriter writer = new StringWriter(sb);
    serializer.Serialize(writer, p);
    Console.WriteLine(sb.ToString());
}

ここにXMLがあります

<?xml version="1.0" encoding="utf-16"?>
<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ProfileColor>
    <A>1</A>
    <R>1</R>
    <G>1</G>
    <B>0</B>
    <ScA>0.003921569</ScA>
    <ScR>0.000303527</ScR>
    <ScG>0.000303527</ScG>
    <ScB>0</ScB>
  </ProfileColor>
  <MinTemp>0</MinTemp>
  <MaxTemp>0</MaxTemp>
  <WeatherTypes>
    <WeatherType>Cloudy</WeatherType>
    <WeatherType>Windy</WeatherType>
  </WeatherTypes>
</Profile>
于 2013-07-27T08:20:10.847 に答える