我试图解析xml文件中的元素值,然后将该单个值分配给变量。我知道我可以这样做:
XDocument xdoc = XDocument.Load("filename");
string someName;
var name = from n in xdoc.Descendants("name")
select (string)n;
foreach(var n in name )
{
someName = n;
}
我的问题是我怎么能做同样的事情,但没有foreach循环?
答案 0 :(得分:2)
string someName = (string)xdoc.Descendants("name").First();
答案 1 :(得分:2)
如果您的xml文件中有单个name
元素,那么使用@abatishchev解决方案(如果元素可能丢失,则可能使用FirstOrDefault
而不是First
)或者您可以使用XPath查询:
string someName = (string)xdoc.XPathSelectElement("//name");
答案 2 :(得分:1)
如果你知道name
中只有一个元素,你就可以这样做:
someName = name.Single();