Пару точек на ответах. Для XML-документа такого размера XDocument является довольно неэффективным способом его обработки. По крайней мере, с моим пониманием того, для чего должен использоваться XDocument. Если вы обрабатываете большие документы в памяти и хотите их запросить с помощью LINQ, то XmlDocument/XDocument - это путь вперед. Если я ошибаюсь, пожалуйста, исправьте меня и примите мои извинения.
Во-вторых, опять же, с моим пониманием, ваша структура XML неверна. Пожалуйста, исправьте меня, если я не получил это право, но атрибуты - это метаданные, описывающие значение элемента. Его нельзя использовать в качестве самого значения. В вашем случае, ваша структура должна быть чем-то вроде ..
<pages>
<page>
<name href="url">Page Name 1</name>
</page>
</pages>
Или, если вы хотите быть действительно анальный
<pages>
<page>
<name>Page Name 1
<url>http://page/</url>
</page>
</pages>
Я боюсь, что этот ответ будет открыть страшный элемент против дебатов атрибута (который не должен существует, но всегда делает это.)
EDIT: Это не прямой ответ на вопрос; Я чувствую, что он ближе к метакомменту (комментарий об ответах на вопрос). Я не был уверен, где это сказать, если это было даже актуально, но я думаю, что это стоит упомянуть.
Довольно код: P ~~~ – jgallant
Действительно симпатичный код. – crauscher