Блог Эрика Уайта - это место для классных преобразований XML / XLINQ и подобных. Я знаю этот вопрос до публикации, но я нашел его, глядя на какой-то другой вопрос, так что, возможно, люди все еще сталкиваются с этим изрядным количеством. В его блоге много оптимизированного LINQ, как я подозреваю, что вызов .Parse () для оригинального ответа неоптимален, на самом деле я знаю, что это не так.
Parse потребует, чтобы XML был загружен за один раз, Эрик использовал методы расширения, которые обрабатывают преобразование XML с помощью XmlReader / Writer. Эти методы могут передавать входные данные, поэтому, если ваш XML имеет какой-либо существенный размер, вы должны использовать его.