&tag(XElement);
*目次 [#de8b1fcc]
#contents
*参考情報 [#r39c2ea4]

*要素の選択 [#mb275eeb]

**Element [#e0de872d]
-直接の子要素を選択する。

#pre{{
XElement childElement = element.Element("Child");
}}
**Elements [#z5163a83]
-直接の子要素を全て選択する。
#pre{{
IEnumerable<XElement> children = element.Element("Child");
}}

**Descendants [#d05d45cc]
-子孫の要素を選択する。
#pre{{
IEnumerable<XElement> children = parentElement.Descendants("Child");
}}

*値の取得 [#fe99e62b]
**XElementのValueから取得 [#u28bca98]
**XElementのValueプロパティ [#u28bca98]
-XElementを取得後、Valueプロパティを使って値を取得する。
#pre{{
XElement nameElement = element.Element("Name");
string name = nameElement.Value;
}}

**直接データ型にキャスト [#o9c18450]
-直接null変換可能なデータ型に変換して取得する(DateTime→DateTime?となる)
#pre{{
string name = (string)element.Element("Name");
}}


**DataTime型変換時のタイムゾーンはどうなるか [#i9c20b1e]
-例えば「<Date>2011-01-10+09:00</Date>」というXML要素をDateTime型に読み込むと、DateTimeオブジェクトの日付は「2011-01-10 00:00:00 ローカルタイム」となる。
-「<Date>2011-01-10+01:00</Date>」を読み込ませると、「2011-01-10 01:00:00 ローカルタイム」となる。
-つまりどんなタイムゾーンが指定されていようがローカルタイムのDateTimeが帰ってくる。
#pre{{
DateTime? date = (DateTime?)element.Element('Date');
}}


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS