2013-05-12 76 views
2

我想獲取變量是一個整數,但它給了我一個字符串。試圖閱讀LINQ的XML文件

XDocument xmlDoc = XDocument.Load(path); 
var test = xmlDoc.Descendants("Variables").Elements("nom").Select(e => (int)e); 
Console.WriteLine(test); 

這裏是我的xml文件

<?xml version="1.0" encoding="utf-8"?><Variables><Site>Chand</Site><nom>12</nom></Variables> 
+0

這是'IEnumerable ',不是字符串。 – SLaks 2013-05-12 18:52:47

+1

附加一個'.First()',它將是一個int。 – I4V 2013-05-12 18:56:27

回答

3

您輸入的表達式是IEnumerable<int>類型而不是一個單一的int。嘗試追加.First()以獲得可枚舉元素的第一個(在這種情況下)元素。

var test = xmlDoc.Descendants("Variables").Elements("nom").Select(e => (int)e).First(); 
+0

是的,謝謝,你有一些教程來學習這件事? – tp1 2013-05-12 19:07:48

+0

只需在您最喜愛的搜索引擎上搜索XML以LINQ,就可以找到許多頁面,教程和示例,或者轉向書店並獲取有關C#和LINQ的一本好書。 – DeCaf 2013-05-12 19:09:21

+0

請問我該如何得到這個表達式的字符串? – tp1 2013-05-16 06:36:15