2
[XmlRoot("ConfigurationRoot")]
public class XmlDBConfiguration
{
    [XmlArray("Customers")]
    [XmlArrayItem("Customer", typeof(Customer))]

    public ArrayList _customers;
    private Dictionary<string, Customer> _customerDictionary;}

Is it possible to define the Element Name (in my case it is ConfigurationRoot) with a variable from another static class or any other way? I want to define my class that is going to be serialized (in my case it is Customer) as well. Is it possible to put a variable there and change it when I create an instance of that ?

Thanks in advance

Kubi
  • 2,139
  • 6
  • 35
  • 62

2 Answers2

2

Yes, you can do that by using the XmlSerializer constructor that takes a XmlAttributesOverrides object. Providing your own XmlRootAttribute is explicitly supported. It is all well explained in the MSDN Library topic.

Hans Passant
  • 922,412
  • 146
  • 1,693
  • 2,536
1

I don't think you can change the value of the XmlRoot attribute on your class. You can however specify an override of this attribute when you create XmlSerializer - just use this constructor: http://msdn.microsoft.com/en-us/library/f1wczcys.aspx

Grzenio
  • 35,875
  • 47
  • 158
  • 240