0

嗨,我有一个 xml 文档

<task>
<directory path="C:\Backup\"/>
<days value="2" />
</task>

我想在 c# 中使用 linq 获取目录的路径和天值,我该如何实现呢?

The output should be 
C:\Backup\ and 2

到目前为止,我已经尝试过类似下面的 xdocument 是我的 xml 文件的路径,它工作正常

              var directory = xdocument.Descendants("task")
                              .Elements("directory")
                              .Attributes("path");

但这部分不起作用。任何帮助将不胜感激。

4

2 回答 2

0

检查这个,因为Descendants()Elements()返回IEnumerable结果

var directory = xdocument.Descendants("task").First().
                              .Elements("directory").First().
                              .Attribute("path").Value;
于 2013-03-13T06:53:27.613 回答
0

你可以试试这个:

var directory = xdoc.DescendantsAndSelf("task") 
                  .Select(c => new 
                  {
                    Path = c.Elements("directory").Attributes("path").First().Value,
                    Day = c.Elements("days").Attributes("value").First().Value,
                  });

或者如果你想要一个字符串:

var directory = xdoc.DescendantsAndSelf("task") 
                  .Select(c => new 
                  {
                    Complete = c.Elements("directory").Attributes("path").First().Value +
                    c.Elements("days").Attributes("value").First().Value
                  });

编辑 你可以像这样遍历它们:

foreach(var item in directory)
{
   Console.WriteLine(item.Path+ " + item.Day);
}
于 2013-03-13T07:04:16.107 回答