C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 82 を表示中)
■48389 / )  Re[1]: 現在のタイトル番組を取得するLINQ to XML
□投稿者/ Hongliang (590回)-(2010/04/05(Mon) 01:30:09)
2010/04/05(Mon) 02:22:08 編集(投稿者)

この XML のルート要素は radiko 要素ですよね?
> var query = from Result in xdoc.Root.Elements()
この from 句は、ドキュメントのルート要素(Root)の子要素(Elements)を列挙しろ、という命令になります。
ルート要素は radiko ですから、その子要素は ttl 要素とか srvtime 要素とか stations 要素とかです。
それらの要素が Result に格納され、以後のクエリに使用されます。
で、ttl 要素にせよ stations 要素にせよ、その子要素に radiko 要素なんて持っていないので
> Name = Result.Element("radiko").
の時点でエラーが発生します。

おそらく列挙したいのは stations 要素の子要素である station 要素、及び progs 要素の子要素である prog 要素 でしょう。
まず station 要素を列挙する from 句を書きます。
次にその station 要素から prog 要素を列挙する from 句をもう一つ置きます。
あとはこの station 要素及び prog 要素から任意の情報を取り出すだけです。

例えば、station 要素を列挙する from 句は以下のように書けます。
from station in xdoc.Root.Element("stations").Elements("station")
xdoc に格納されている xml の、ルート要素 radiko の、子要素にある stations 要素を取り出し、その子要素で名前が station という要素を列挙し、それぞれ変数 station に格納して以降のクエリで使用できるようにする。
返信 編集キー/


管理者用

- Child Tree -