Получить элемент в списке в другом списке и присвоить им значения - PullRequest
0 голосов
/ 24 января 2019

У меня есть List<NXRoute>, каждый NXRoute также содержит List<Path>

есть мои определения классов:

[XmlRoot("NXRoutes")]
public class NXRoutes
{
    [XmlElement("NXRoute")]
    public List<NXRoute> NXRoute { get; set; }
}

public class NXRoute
{
    [XmlAttribute("ID")]
    public string ID { get; set; }
    [XmlAttribute("OriginSignal")]
    public string OriginSignal { get; set; }
    [XmlAttribute("DestinationSignal")]
    public string DestinationSignal { get; set; }
    [XmlElement("Path")]
    public List<Path> Path { get; set; }
}

public class Path
{
    [XmlAttribute("ID")]
    public string ID { get; set; }
    [XmlAttribute("Preferred")]
    public string Preferred { get; set; }
    [XmlAttribute("SnowPlan")]
    public string SnowPlan { get; set; }
    [XmlText]
    public string PathInnerText { get; set; }
}

Я буду использовать их в XmlSerialization для создания XML-файла

для присвоения значений атрибутам (ID, Preferred ... и т. Д.), Как я могу добраться до элементов списка путей?

1 Ответ

0 голосов
/ 24 января 2019

Вы можете просто перебирать коллекции, чтобы получить доступ к каждому Path экземпляру

Доступ к значениям или установка значений в существующем экземпляре

NXRoutes routes = new NXRoutes();

foreach (var route in routes.NXRoute)
{
  foreach (var path in route.Path)
  {
     path.ID = 5;
     path.Preferred = "preferred";
     path.SnowPlan = "plan"
  }
}

Установить значения для нового экземпляра

NXRoutes routes = getRoutes();
routes.NXRoute = new List<NXRoute>()
{
  new NXRoute { ID = 1, OrginSignal = "value", Path = new List<Path>() 
               {
                 new Path { ID = 1, Preferred = "value", SnowPlan = "plan" },
                 new Path { ID = 2, Preferred = "value", SnowPlan2 = "plan2" }
               }
              },
  new NXRoute { ID = 2, OrginSignal = "value"  Path = new List<Path>() 
              { 
               new Path { ID = 3, Preferred = "value", SnowPlan3 = "plan4" },
               new Path { ID = 4, Preferred = "value", SnowPlan4 = "plan4" }
              },
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...