C# 正在尝试从xml linq查询获取列表项

C# 正在尝试从xml linq查询获取列表项,c#,xml,linq,C#,Xml,Linq,我试图迭代xml文档中的元素列表,并以列表的形式返回每个元素的值。但是,它返回单个列表项中的所有值,并将它们连接在一起。是否有任何方法可以将每个元素值分离到其自己的列表项中 提前感谢,现在它返回“Item1Item2Item3”-相同的列表项 public List<string> ReturnRow(string RowToReturn, string parentelement) { List<XElement> E

我试图迭代xml文档中的元素列表,并以列表的形式返回每个元素的值。但是,它返回单个列表项中的所有值,并将它们连接在一起。是否有任何方法可以将每个元素值分离到其自己的列表项中

提前感谢,现在它返回“Item1Item2Item3”-相同的列表项

  public List<string> ReturnRow(string RowToReturn, string parentelement)
            {
            List<XElement> ElementList = new List<XElement>();
            List<string> ItemstoReturn = new List<string>();
            try
            {
                //loop through whole doc and get blocks that match the Row (should only be 1)
                ItemstoReturn = (from element in XmlDoc.Root.Elements(parentelement)
                                 where element.Attribute(ParentAttribName).Value == RowToReturn
                                 select element.Value).ToList();

                //loop through inner elements to retrieve values 
                foreach (XElement eachelement in ElementList)
                {
                    ItemstoReturn.Add(eachelement.Value);
                }
                //return values to list
                return ItemstoReturn;
            }
            catch(Exception ex)
            {
                ex.ToString();
                return null;
            }
        }
public List ReturnRow(string rowtore,string parentelement)
{
List ElementList=新列表();
List ItemstoReturn=新列表();
尝试
{
//循环遍历整个文档并获取与行匹配的块(应仅为1)
ItemstoReturn=(来自XmlDoc.Root.Elements(parentelement)中的元素)
where element.Attribute(ParentAttribName).Value==行返回
选择element.Value).ToList();
//循环内部元素以检索值
foreach(元素列表中的每个元素)
{
ItemstoReturn.Add(eachelement.Value);
}
//将值返回到列表
返回项目StoreTurn;
}
捕获(例外情况除外)
{
例如ToString();
返回null;
}
}
输入XML

<recipes>
  <recipe name="vidmar"/>
  <recipe name="oven">
      <ESN>25058301</ESN>
      <ESN>25058302</ESN>
  </recipe>
</recipes>

你能举一个例子说明你到底得到了什么吗?我试图得到Item1,Item2,Item3,每个都是它自己独立的列表项,而不是所有相同的项。你能分享你的xml,
ElementList
它在
ReturnRow
方法中从未被修改过吗?为什么?我理解你的问题。请共享示例xml以建议所需的更改-+-25058302 25058302 Krishna,非常感谢您的帮助!只是最近才开始使用linq im不是专家!谢谢你,小伙子,它成功了@StephenCarey。您可以将此标记为回答。很遗憾,我没有显示出来,因为我不到15岁/
using System.Xml.Linq; //namespace
...

string xml = File.ReadAllText(xmlFilePath);

XElement doc = XElement.Parse(xml);
var result = doc.Elements("recipe")
                .Where(c => c.Attribute("name").Value == "oven");

foreach(var element in result.Descendants("ESN"))
{
    Console.WriteLine(element.Value.ToString());
}