1

(いくつかの) 複雑なデータ構造を 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 であることに注意してください。

4

1 に答える 1