2016-10-22 19 views
-1

ように私は、XMLを持っている:私はXML要素の大文字と小文字を区別する問題

var floorList = document.Root.Descendants("FLOOR").Elements("Floor").Select(x => x.Value).ToList(); 

ではなく、便利を使用しようとしています

<FlOOR> 
      <FloorID>1</FloorID> 
      <Floor>1st Floor</Floor> 
</FlOOR> 

。私は<Floor>の価値をリストに入れたいです。

+0

少なくとも2つのアイテムをリストに表示できますか? – jdweng

+0

私は ' 1st Floor'内部価値を得たかったのです。親ノード名もFLOORです。 –

+0

あなたは通常、複数の結果を意味するリストを望んでいると言いました。 – jdweng

答えて

0
foreach (XElement element in document.Descendants("Floor")) 
      { 
      cmbBoxFloor.Items.Add(element.Value); 
      } 
0

大文字と小文字が区別されます。事実を無視すると、コードは機能しません。なぜそれが問題なのか分かりません。

+0

はい、その大文字と小文字を区別しますが、 'document.Root.Descendants(" FLOOR ")要素(" Floor ")を選択します(x => x.Value).ToList();'は機能しません。 document.Descendants( "Floor") 'は働いていました。 –

0

エンコーディングに問題があります。私がタグ名をタイプしたとき、結果は得られませんでした。タグ名をコピーしてコードに貼り付けると、それは機能しました。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Xml; 
using System.Xml.Linq; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     const string FILENAME = @"c:\temp\test.xml"; 
     static void Main(string[] args) 
     { 
      XDocument document = XDocument.Load(FILENAME); 
      var floorList = document.Descendants("FlOOR").Select(x => new 
      { 
       id = (int)x.Element("FloorID"), 
       name = (string)x.Element("Floor") 
      }).ToList(); 
     } 
    } 
} 
関連する問題