0

我必须编写一些相似且简单的 xml 文件(没有嵌套元素,属性不多),如下所示:

<example>
  <data1>something1</data1>
  <data2 name="ex">something2</data2>
  <data3>something3</data3>
  ...
</example>

目前我能做的是

<example>
  <Data>something1</Data>
  <Data name="ex">something2</Data>
  <Data>something3</Data>
</example>

通过使用以下类(我创建了一个示例实例并将其序列化)

    [XmlType("example")]
    public class Example : List<Data>
    {}

    public class Data
    {
        [XmlAttribute(AttributeName = "name")]
        public string name { get; set; }

        [XmlText]
        public string data { get; set; }
    }

    Main
    {
        Example ex = new Example();
        ex.Add(new Data() { data = "something1" });
        ex.Add(new Data() { data = "something2", name = "ex" });
        ex.Add(new Data() { data = "something3" });

        string xml = Serialize<Example>(ex); //this only does the serialization
    }

问题是:我怎样才能独立地获得每个元素的名称(“data1”、“data2”、“data3”)?我知道我可以使用 [XmlArrayItem()] 为所有这些设置名称,但我希望能够通过在初始化列表元素时可以设置的类 Data 中的变量来设置它们中的每一个。有办法吗?

4

0 回答 0