(いくつかの) 複雑なデータ構造を Python から非常に明示的な XML 文字列にシリアル化しようとしています。
C# では、データ構造を作成し、[XmlElement] や [XmlAttribute] などのいくつかの属性でフィールドをマークし、基本的に "serialise" を呼び出すのと同じくらい簡単です。
ただし、Python で同様の機能を見つけることができません。構造を手動で解析する例はたくさんありますが、これは私のニーズにはあまり適していません。
この C# 機能をシミュレートする方法はありますか。
public enum eType {
[XmlEnum("multi")]
Multiple,
[XmlEnum("mutex1")]
Single,
[XmlEnum("product")]
Product,
[XmlEnum("alias")]
Alias
}
[Serializable]
[XmlRoot("root")]
public class RootClass{
public RootClass() {
Metadata = new Metadata ();
FeatureDictionary = new FeatureDictionary ();
}
[XmlElement("metadata")]
public Metadata Metadata { get; set; }
[XmlElement("feature-dictionary")]
public FeatureDictionary FeatureDictionary { get; set; }
}
[Serializable]
public class Metadata {
public Metadata() {
Meta = new List<Meta> ();
}
[XmlAttribute("status")]
public string Status { get; set; }
[XmlAttribute("url")]
public string URL { get; set; }
[XmlAttribute("view")]
public string View { get; set; }
[XmlElement("meta")]
public List<Meta> Meta { get; set; }
}
パイソンで?
上記のスニペットは、C# で XML を定義するコードの約 1/20 であることに注意してください。