0

こんにちは、xml ドキュメントがあります

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

linq を使用して c# からディレクトリのパスと日の値を取得したいのですが、どうすればこれを達成できますか?

The output should be 
C:\Backup\ and 2

これまでのところ、xdocumentの下のようなものを試してみましたが、正常に動作するxmlファイルへのパスです

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

しかし、この部分は機能していません。どんな助けでも本当に感謝します。

4

2 に答える 2

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,
                  });

または、1つの文字列が必要な場合:

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 に答える
0

結果Descendants()Elements()返すため、これを確認してくださいIEnumerable

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