C# 按元素名称获取多个元素的XElement.Value

C# 按元素名称获取多个元素的XElement.Value,c#,xml,linq,C#,Xml,Linq,我有以下代码: XDocument xdoc = XDocument.Parse(xml); XElement xe = xdoc.Root.Element("program"); string[] data = new string[3]; XElement element = xe.Element("name"); data[0] = element.Value; element = xe.Element("version"); data[1] = element.Value; el

我有以下代码:

XDocument xdoc = XDocument.Parse(xml);
XElement xe = xdoc.Root.Element("program");

string[] data = new string[3];

XElement element = xe.Element("name");
data[0] = element.Value;

element = xe.Element("version");
data[1] = element.Value;

element = xe.Element("beta");
data[2] = element.Value;

return data;
是否可以这样写:

xe.Element["name"].Value
xe.Element["version"].Value
我知道我不能完全那样写,但他们有没有像那样的方法?
这样我就省去了一些行,使过程更快。

是的,只需使用正确的括号,用于方法调用,而不是索引器语法

return new string[] {
    xe.Element("name").Value,
    xe.Element("version").Value,
    xe.Element("beta").Value
};

好极了。非常感谢。哈哈,仔细想想,我觉得自己很愚蠢,甚至问了这样一个问题:>我能得到像xe.Element(“name\version”)这样的值吗?@RohitVyas:不清楚你想通过它实现什么,但我强烈怀疑不是。@jon Skeet,事实上,我的场景类似于,例如,我的xml类似于ab,因此,如果我想获得value标记中所有元素的列表,我如何才能获得它?@RohitVyas:听起来你真的应该问一个新问题,但是
doc.Root.element(“item”).element(“value”).Elements()