У меня есть объект, построенный по схеме XML и хочу использовать LINQ, чтобы получить данные из него , который меня интересует :)LINQ к объектам
Структуры выглядеть как в следующем примере:
SimulationStep [1..n]
- EnvironmentStep [1]
- Events [0..n]
- ResultingStateChanges [0..n]
- Objects [1]
- Object[0..n]
каждый «объект» (последний в этом классе цепи) имеет атрибут х, у и г, то есть положение этого объекта в 3D пространстве. Theres также идентификатор, который используется для идентификации каждого объекта.
Теперь я хочу собрать все (x, y, z) триплеты для каждого SimulationStep для объекта, который равен данному ID.
Я пробовал так:
for (int i = 0; i < stepCount; i++)
{
var events = from c in log.SimulationStep[i].EnvironmentSimulatorStep.EnvSimInputEvent
from d in c.ResultingStateChanges
from e in d.Agents.Agent
where e.id == id
select new { c.occurrenceTime, o = new Vector3((float)e.x, (float)e.y, (float)e.z) }
}
, но все это я получаю с этим, есть результат (х, у, г) SimulationStep 0. Но я хочу список с позиций в каждом шаг. Таким образом: Например ....
SimStep[0] - (0,0,0)
SimStep[1] - (5,0,0)
SimStep[2] - (10, 7, 0)
почему бы не использовать XDocument это позволяет запрашивать данные XML –
@VincentDagpin: Но я нахожусь в LINQ в настоящее время. – 2013-04-24 09:10:10
@Sandy Существует [Linq2XML] (http://msdn.microsoft.com/en-us/library/bb387098.aspx) – Aron