XMLファイルを作成するためにXSDに対してシリアル化され、検証されるオブジェクトを作成しています。どのように私はここではフィールドの重複を最小限に抑えることができ、オブジェクトオートプロパティの複製
public class export
{
public info info { get; set; }
public design design { get; set; }
}
public class info
{
public DateTime exportDateTime { get; set; }
public string duration { get; set; }
public planningSoftware planningSoftware { get; set; }
public exporter exporter { get; set; }
}
public class planningSoftware
{
public string name { get; set; }
public string major { get; set; }
public string minor { get; set; }
public string revision { get; set; }
public string build { get; set; }
}
public class exporter
{
public version version { get; set; }
public module module { get; set; }
}
public class version
{
public string name { get; set; }
public string major { get; set; }
public string minor { get; set; }
public string revision { get; set; }
public string build { get; set; }
}
public class module
{
public string name { get; set; }
public string major { get; set; }
public string minor { get; set; }
public string revision { get; set; }
public string build { get; set; }
}
public static void buildXML()
{
var export = new export()
{
info = new info()
{
exportDateTime = DateTime.Today,
duration = 10,
planningSoftware = new planningSoftware()
{
name = "Planning App",
major = "10",
minor = "4",
revision = "6",
build = "225"
},
exporter = new exporter()
{
version = new version()
{
name = "App Test",
major = "10",
minor = "1",
revision = "0",
build = "201"
},
module = new module()
{
name = "App Test Module",
major = "5",
minor = "2",
revision = "1",
build = "220"
}
}
}
};
var s = new XmlSerializer(typeof(export));
using (var f = File.Open("export.xml", FileMode.Create))
{
s.Serialize(f, export);
}
}
私の質問は:私がいる問題は、XML内の特定のノードが重複しているが、別の名前で、これまでのところ、私は以下の持っているのですか?私は通常、値を保持する別個のオブジェクトを初期化するかもしれませんが、これはシリアル化に影響するように見えます。
ありがとうございました。
私はここで連載しようとしています。メジャー、マイナーな名前を複製しているオブジェクトがあります。リビジョンとビルドのプロパティ、私はシリアライゼーションに影響を与えることなく、重複を最小限に抑える必要があります。 –
planningソフトウェアとバージョンには同じプロパティがあり、2つのクラスの共通基本クラスを作成してから、基本クラスを継承することができます。 – jdweng