我有一个如下的 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" />
所以表上应该有一个新的“宠物”列。
我开始使用 C# LINQ to XML,但我只能使用硬编码的列名执行查询。