我想在DataGridView中顯示三列。 這裏是我的XML的一個樣本:試圖用Linq查詢並在DataGridView中顯示
<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 = "...">
...
...
我想顯示的第一列是字符串ID,屬性值。 我想要顯示的第二列是每個string
的<value>
數據,其中<language name>
等於ENGLISH_US
。 我想要顯示的第三列是每個string
的<value>
數據,其中<language name>
等於組合框中當前選定的項目(填充了每種語言的名稱)。
這是目前我的Linq查詢:
var query_Id = from va in xdoc.Descendants("language")
where va.Attribute("name").Value == ("ENGLISH_US")
select new
{
StringID = va.Parent.Parent.Attribute("id").Value,
English = va.Element("value").Value,
Custom = <incomplete>
};
這樣做的問題是,雖然這給了我前兩列,我不能想辦法拿到第三。實質上,我正在尋找一種解決方案,看起來像幾個選擇基於像WHERE language name = "VALUE"
等東西。簡單一點。
令人驚歎。它確實有效。感謝您的回覆,我不知道該怎麼做。我最終試圖在這個空指針異常之前使用'.Where()'子句。謝謝! –