下記のようなXMLで出発時間(DepartureTime)と到着時間(ArrivalTime)を取得したいのですが
foreachを使って階層以下を取得しようとしたところ下記のエラーが発生しコンパイルが通りません。
var で取得したデータ型はXElementになっているようなので意味がわからないのですが、
どのように回避すればよいでしょうか?
Error
1foreachステートメントはXElementがGetEnumeratorの 2パブリックインスタンスを含んでいないため、型XElementに対して使用できません
XML
1<?xml version="1.0" encoding="utf-8"?> 2<Config> 3 <id>guest</id> 4 <Item No="1" Name="テスト"> 5 <speed>0.2</speed> 6 <Departure> 7 <DepartureTime>13:00</DepartureTime> 8 </Departure> 9 <Arrival> 10 <ArrivalTime>17:00</ArrivalTime> 11 </Arrival> 12 </Item> 13</Config>
c#
1 2// XML読み込み 3XDocument xml=XDocument.Load(Application.streamingAssetsPath + "/worldconf.xml"); 4XElement root=xml.Element("Config"); 5 6Debug.Log(root.Elements("id").ToString()); //OK guest 7 8var rows=root.Elements("Item"); 9 10foreach (XElement row in rows) { 11 12 Debug.Log(row.Element("speed")); //OK 0.2 13 Debug.Log(row.Element("Departure").Element("DepartureTime")); //OK 13:00 14 15 var departures=row.Element("Departure"); 16 Debug.Log(departures.GetType()); //← System.Xml.Linq.XElementになっている 17 18 foreach (XElement departure in departures) //← コンパイルが通りません。 19 { 20 } 21 22} 23
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/29 02:57
2019/09/29 03:00