【发布时间】:2011-07-27 16:56:55
【问题描述】:
我一直在寻找这个问题的答案: 我有一个格式如下的 XML 文件:
<root>
<string id = "STRING_ID">
<node1> Some data </node1>
<node2>
<type>data</type>
</node2>
<Translations>
<language name="ARABIC">
<value>Some data</value>
<date_last_changed>7-4-2011</date_last_changed>
</language>
<language name="CHINESE">
...
...
</Translations>
</string>
<string id = "...">
...
...
</root>
我使用来自 XML 文件的信息加载了一个 DataSet。 然后我通过
将 DataSet 绑定到 DataGridViewDataGridView1.DataSource = dataSet1;
然后使用
DataGridView1.DataMember = "string";
目前datagridview显示节点1的内容,以及每个字符串元素的id属性值。
我的问题是:如何使用语言名称 = "ENGLISH" 或 "ARABIC" 等的每个 <string> 中 <language> 的所有 <value> 元素中包含的数据填充列?听起来像是对我的询问,但我不知道该怎么做。
基本上,我希望一列始终显示与我的 datagridview 中相应字符串 ID 对应的每个英文字符串,然后再一列显示我使用 ComboBox 中的列表选择的语言的每个字符串。
【问题讨论】:
-
看起来对于 Linq to XML 来说是一项完美的工作。 [见这里][1] [1]:stackoverflow.com/questions/670563/linq-to-read-xml-c
-
您在使用 Windows 窗体应用程序吗?
-
@Icarus -- 感谢您的回复。您链接到我的内容有所帮助,但我仍然对如何优雅地将这些值添加到我的 DataGridView 感到困惑。