2013-05-12 75 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