2017-11-09 3 views
-1

とXDocumentにアクセスすることはできません私はSystem.Xml.Linqを使用してXML文書からいくつかのデータをロードしようとしていますが、私はのIEnumerableオブジェクトとfrom item in docステートメントを使用しようとすると、私は次のエラーを取得する:はIEnumerableを、ループのC#

Could not find an implementation of the query pattern for source type 'XDocument'. 'Select' not found.

ここで私は周りを見回したが、私が見たすべてのソリューションは、

「を使用してSystem.Linqの文を持っていることを忘れないでください」だけ たコード

using System; 
using System.Collections.Generic; 
using System.Web; 
using System.Web.Mvc; 
using System.Linq; 
using System.Xml.Linq; 

    public class DataManager 
    { 
     // GET: Data 
     private void LoadTestData() 
     { 
      IEnumerable<string> users; 
      XDocument testData = XDocument.Load(@"C:\Users\gross\source\repos\Database Sandbox\Database Sandbox\App_Data\TestData.xml"); 

      users = from user in testData; 
     } 
    } 

です

プロジェクトは、ASP.NET + MVCでVisual Studio 2017に設定されています。5

+0

でのLINQを使用することができ、コレクションを公開します、これらのだtestData.Elements()またはtestData.Descendents()

だろう。 xmlから何を得ようとしていますか? XMLの様子は? –

+0

ユーザー=(testDataのユーザーから\ r \ nユーザーを選択).ToList();多分このように? – urlreader

+0

する必要があります:リスト users = testData.Descendant( "user")。ToList(); – jdweng

答えて

2

XDocumentはIEnumerableを実装していません。これは、XElementやXAttributeなどのIEnumerableを返すドキュメントの構造にアクセスするためのいくつかのメソッドを公開します。

の例では、それはあなたが `XDocument`は` IEnumerable`ない

+0

これはそれでした。今私はちょうど私が私が望むデータをプルするために呼び出しをフォーマットする必要があります正確に回り込む必要があります。 – user3776749

+1

@ user3776749こちらをご覧くださいhttps://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/querying-an-xdocument-vs-querying-an-xelementここにhttps: //docs.microsoft.com/en-us/dotnet/api/system.xml.linq.xdocument?view=netframework-4.7.1 – Dave

関連する問題