Dennis Pichlmeier
Dennis Pichlmeier

Reputation: 3

Create dynamic XML class

I have a class "MsrProgram" that will serialize. However, if the parameter "Number" in "MsrProgram" is different, i need different parameters in my XML File. What is the easyest way to do somthing like this?

Here is my code:

public class MsrProgram
{
    [XmlAttribute]
    public string OwnerTypeFullName { get; set; }

    [XmlAttribute]
    public int Number { get; set; }

    [XmlAttribute]
    public int MsrRange { get; set; }

    [XmlAttribute]
    public int TurnoverMeasure { get; set; }
}

public class main
{
   var toolList = (from pos in Configuration.List
      select new Position
      {
         ToolNumber = (int)pos.tlno,
         Tool =
         {
            ToolId = pos.tlno.ToString(),
            Step =
            {
               Position = "1",
               MsrProgram =
               {
                  OwnerTypeFullName = "",
                  Number = 1,
                  MsrRange = "1", //When Number is 1
                  TurnoverMeasure = "1", //When Number is 2
               }
            }
         }
      }
}

Upvotes: 0

Views: 53

Answers (1)

Peter B
Peter B

Reputation: 24147

Your code does not show everything so I can not give complete code, but this should get you going:

var toolList = (from pos in Configuration.List
    select new Position
    {
        ToolNumber = (int)pos.tlno,
        Tool = new Tool
        {
            ToolId = pos.tlno.ToString(),
            Step = new Step
            {
                Position = "1",
                MsrProgram = new MsrProgram
                {
                    OwnerTypeFullName = "",
                    Number = GetNumber(), // <- fill in what really should be used
                    MsrRange = GetNumber() == 1 ? 1 : 0,
                    TurnoverMeasure = GetNumber() == 2 ? 1 : 0
                }
            }
        }
    }
);

I also added several new ... statements which you missed or forgot.

Upvotes: 2

Related Questions