我是新來的,所以請耐心等待。使用C#和LINQ,我試圖從XML文件中提取一條記錄,並且想要將它的元素和屬性綁定到單個文本塊。查詢XML以提取一條記錄並將數據綁定到單個文本塊
可以說我有一個名爲本的test.xml xml文件:
<Data>
<Test id=1>
<Text>"First Record"</Text>
</Test>
<Test id=2>
<Text>"Second Record"</Text>
</Test>
<Data>
我想在id的變量傳遞這樣我就可以拉出來的記錄信息,並將其綁定到單獨的TextBlocks
var r = 2 // just hardcoding for the example
XDocument d = XDocument.Load("Test.xml");
var q = from t in d.Descendants("Test")
where t.Attribute("id").Value == r
select new
{
id = t.Attribute("id").Value,
text = t.Element("text").Value
}
現在我想結合 「id」 和 「文本」,以indivual文本塊
idTextBlock.Text = id
textTextBlock.Text = text
氏當然會拋出關於id和文本「在這種情況下不存在」的各種錯誤。我所見過的所有例子只是簡單地將輸出集中到控制檯上的單個字符串,這對我沒有幫助。我真的很新(第二週)編程,所以我可能會完全錯誤。任何援助將不勝感激。謝謝!
(逢
Data
標籤,id屬性包含在雙引號值),我想q.id和綁定時q.text應該正常工作。 –現在我收到此錯誤:\t'System.Collections.Generic.IEnumerable'不包含'id'的定義,也沒有接受類型爲'System.Collections.Generic'的第一個參數的擴展方法'id' .IEnumerable '可以找到(你是否缺少using指令或程序集引用?) –
evilsushi
使用var q =(從d.Descendants(「Test」)中的t 其中t.Attribute(「id」 )。價值== - [R 選擇新 { ID = t.Attribute( 「ID」)值, 文本= t.Element( 「文本」)值 。})DefaultIfEmpty()FirstOrDefault()。; –