2009-05-12 15 views
0

"bugs"というフォルダコールからxmlファイルのタイトルを取得しようとしています。xmlファイルからタイトルリストを取得

マイコード:

public virtual List<IBug> FillBugs() 
    { 
     string folder = xmlStorageLocation + "bugs" + Path.DirectorySeparatorChar; 

     List<IBug> bugs = new List<IBug>(); 

     foreach (string file in Directory.GetFiles(folder, "*.xml", SearchOption.TopDirectoryOnly)) 
     { 
      var q = from b in bugs 
        select new IBug 
        { 
         Title = b.Title, 
         Id = b.Id, 
        }; 

      return q.ToList(); 
     } 

     return bugs; 
    } 

しかし、私は、フォルダ「バグ」のすべてのXMLファイルからタイトルを降りるいませんよ。


最も大きな問題は、文字列ではなく、文字列[]ではなく、文字列を取得することです。

+0

すべてのファイルを取得していて、正しい結果が得られていないか、または期待されているファイルをすべて取得していませんか? – dsrekab

答えて

0

xmlStorageLocationと「バグ」の間にバックスラッシュ(Path.DirectorySeparatorChar)が必要ですか?

+0

いいえxmlStorageLOcationにPath.DirectorySeparatorCharが含まれているためではありません –

1

「from b in bugs」は、空のリストから選択します。 foreachループの開始時にファイルからバグを初期化する必要があります

2

あなたのコードは書かれていても意味がありません。 ? - という正しいですかあなたは、コレクションにそれをプッシュするために欠場でした

public virtual List<IBug> FillBugs() 
{ 
    // is this actually correct or did you mix up the concatenation order? 
    // either way, I suggest Path.Combine() instead 

    string folder = xmlStorageLocation + "bugs" + Path.DirectorySeparatorChar; 

    List<IBug> bugs = new List<IBug>(); 

    foreach (string file in Directory.GetFiles(folder, "*.xml", 
     SearchOption.TopDirectoryOnly)) 
    { 
     // i guess IBug is not actually an interface even though it starts 
     // with "I" since you made one in your code 

     bugs.Add(new IBug { 
      Title = file, Id = 0 /* don't know where you get an ID */ }); 
    } 

    return bugs; 
} 
+0

タイトルとIDはeatch xmlファイルにあり、タイトルとIDをeatch xmlファイルからリストに取得することはできません –

+0

"foreach"ファイルを開き、必要な情報を解析して、次に示すようにコレクションに追加する必要があります。 – GalacticCowboy

0

あなたはどこでもあなたのループ内でfileを使用していない:おそらく、あなたはもっとこのような何かを意味し

+0

私はそれをコレクションにプッシュしていないので、 –

関連する問題