次のような XML ドキュメントがあります。
<Registrations>
<RegistrationForm>
<RegValue Id="Passport" v="13.999.567" />
<RegValue Id="FavoriteColor" v="Blue" />
<RegValue Id="Gender" v="Male" />
</RegistrationForm>
<RegistrationForm>
<RegValue Id="Passport" v="12.566.342" />
<RegValue Id="FavoriteColor" v="Red" />
<RegValue Id="Gender" v="Female" />
</RegistrationForm>
</Registrations>
目的は、異なる ID 値を列として持つ GridView を生成することであり、各行にはその ID の値が含まれます。
PASSPORT | FavoriteColor | Gender
13.999.567 | Blue | Male
12.566.342 | Red | Female
ここでの複雑さは、事前にわからない ID を持つ RegValue 要素をさらに持つことができることです。したがって、列は動的に生成する必要があります。たとえば、XML に要素を追加すると<RegValue Id="Pet" v="Dog" />
、テーブルに新しい "Pet" 列が作成されます。
C# LINQ to XML の使用を開始しましたが、ハードコーディングされた列名でしかクエリを実行できませんでした。