Как преобразовать иерархические данные базы данных в XML, используя ASP.net 3.5 и LINQ

У меня есть таблица с иерархической структурой. как это:
альтернативный текст http://aspalliance.com/ArticleFiles/822/image002.gif

и данные таблицы показаны здесь:
альтернативный текст http://aspalliance.com/ArticleFiles/822/image003.gif
эта стратегия дает мне возможность иметь неограниченные категории и подкатегории.

Я использую ASP.net 3.5 SP1 и LINQ и MSSQL Server2005.Как конвертировать его в XML? Я могу сделать это сОбъект набора данных а также ".GetXML ()"метод. но как реализовать это с помощью LINQtoSQL или LINQtoXML ??? или если есть другой более простой способ сделать это? каково ваше предложение? лучший способ? Я искал в Интернете, но ничего не нашел для .net 3.5 featuers.

Обновление вопроса
спасибо Мерф, но теперь у меня есть новая проблема. Я хочу сделать файл Dunamic SiteMap в моем проекте. Вы знаете, что файл SiteMap в ASP.net выглядит следующим образом:

<siteMapNode url="~/Category?cid=0" title="Home"  description="Home">

    <siteMapNode url="~/Category?cid=1" title="a"  description="" />

    <siteMapNode url="~/Category?cid=2" title="b"  description="" >

        <siteMapNode url="~/Category?cid=3" title="c"  description="" />

        <siteMapNode url="~/Category?cid=4" title="d"  description="" />

    </siteMapNode>
</siteMapNode>

Основная проблема заключается в том, что согласно Кодексу Мурфа подкатегории будут вложены в элемент. но в случае SiteMap у нас нет таких элементов, и все категории и подкатегории вложены в элементы. Как я могу изменить код Mr.Murph для формирования этой схемы?

Ответы на вопрос(2)

Ваш ответ на вопрос