В XML скорость зависит от множества факторов.
Что касается атрибутов или элементов, выберите тот, который более точно соответствует данным.В качестве ориентира мы используем атрибуты для атрибутов объекта;и элементы для вложенных подобъектов.
В зависимости от объема данных, о которых вы говорите, использование атрибутов может немного сэкономить на размере ваших потоков XML.Например, <person id="123" />
меньше, чем <person><id>123</id></person>
Это на самом деле не влияет на анализ, но влияет на скорость отправки данных по сетевому проводу или загрузки их с диска ... Если мы говорим о тысячах такихзаписи, это может иметь значение для вашего приложения.
Конечно, если это действительно имеет значение, тогда лучше использовать JSON или некоторое двоичное представление.
Первыйвопрос, который вам нужно задать, это то, требуется ли XML.Если он не должен быть читаемым человеком, то, вероятно, лучше использовать двоичный файл.Черт, CSV или даже файл с фиксированной шириной может быть лучше.
Что касается LINQ vs XmlReader, то это сводится к тому, что вы делаете с данными во время их анализа.Вам нужно создать экземпляр группы объектов и обработать их таким образом, или вам просто нужно прочитать поток, как только он поступит?Возможно, вы даже обнаружите, что простейшее / лучшее решение - просто выполнить простейшие манипуляции с данными.
Дело в том, что вам, вероятно, потребуется изучить сильные стороны каждого подхода, помимо того, что "разбирает быстрее".