Пара баллов за предоставленные ответы. Для документа 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>
Боюсь, этот ответ откроет дискуссию об ужасающем элементе и атрибуте (которого не должно быть, но всегда есть.)
РЕДАКТИРОВАТЬ: Это не прямой ответ на вопрос; Я чувствую, что это ближе к метакомментарию (комментарий об ответах на вопрос). Я не был уверен, где его поставить, если оно вообще было актуально, но думаю, стоит упомянуть.