Итак, мой первый вопрос, LINQ to XML зависит от порядка?
С учетом XML (упрощенная версия фактического файла):
<root>
<dl Id='111' Or='true' />
<dl Id='112' Or='false' />
</root>
Контейнер:
public class root
{
public int Position { get; set; }
public int Id { get; set; }
public bool Or { get; set; }
}
Код считывателя:
var t = a.DescendantsAndSelf("root").Descendants("dl").Select(b => new root
{
Id = int.Parse(b.Attribute("Id").Value),
Or = bool.Parse(b.Attribute("Or").Value)
});
Будут ли корневые элементы в t
всегда в том порядке, в котором они были прочитаны из файла? Если нет, есть ли способ обеспечить порядок?
Второй вопрос, есть ли способ автоматически добавить число в код читателя, который говорит, был ли это первый, второй, третий и т. Д. Корень, который должен быть прочитан из XML? Так что в этом примере это так, что t
будет содержать два элемента со значениями
- dl.Position = 1, dl.Id = 111, dl.Or = true
- dl.Position = 2, dl.Id = 112, dl.Or = false