我必须编写一些相似且简单的 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 中的变量来设置它们中的每一个。有办法吗?