Jak przekonwertować XML do JSON przy użyciu C # / LINQ?

Mam następujący plik XML, którego potrzebuję do konwersji na JSON na serwerze. Początkowo myślałem, że przekonwertuję go na słownik, a następnie użyję JavaScriptSerializer, aby przekształcić go w JSON, ale ponieważ każda kolumna może mieć inny typ wartości, nie sądzę, aby działała. Czy ktoś zrobił coś podobnego wcześniej w C # / LINQ?

Muszę zachować typy wartości (Boolean, String, Integer) każdej kolumny.

Byłbym wdzięczny za każdą poradę na ten temat, ponieważ zaczynam pracę z XML. Dzięki.

<Columns>
 <Column Name="key1" DataType="Boolean">True</Column>
 <Column Name="key2" DataType="String">Hello World</Column>
 <Column Name="key3" DataType="Integer">999</Column>
</Columns>

questionAnswers(3)

yourAnswerToTheQuestion