« LINQ to XMLで苦戦中…。 | トップページ | SQLServerパフォーマンス関係の情報取得メモ »

2008年12月11日 (木)

LINQ to XMLで苦戦中(解決)

苦戦していたLINQなんですが、SAMEさんからのヒントにより
うまくGridViewに表示する事が出来ました。

SAMEさんのソースでは一旦DataTableにセットしなおしてから
GridViewにバインドしているようでしたが、どうやら、直撃でバインドしても
うまく表示できるようですね。
(おそらく、今貼っているソースにはGridViewのプロパティ設定などを載せていないから
わざとDataTableに入れてからバインドさせていると勝手に推測)

C#の場合は(?)一旦内部の要素に値をセットすると言う事が必要なんですね!


using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string strFilePath = Server.MapPath("./");
XElement xmldoc = XElement.Load(strFilePath + "App_Data/udons_2008_forControl.xml");

var query = from c in xmldoc.Elements("商品")
select new
{
品番 = c.Element("品番").Value,
品名 = c.Element("品名").Value,
地方発送 = c.Attribute("地方発送").Value,
イメージ = c.Element("品名").Attribute("イメージ").Value,
セット内容 = c.Element("セット内容").Value,
セット = c.Element("セット内容").Attribute("セット").Value,
単価 = c.Element("セット内容").Attribute("単価").Value,
価格 = c.Element("価格").Value
};

GridView1.DataSource = query;
GridView1.DataBind();
}
}

|

« LINQ to XMLで苦戦中…。 | トップページ | SQLServerパフォーマンス関係の情報取得メモ »

C#」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/50625/43392340

この記事へのトラックバック一覧です: LINQ to XMLで苦戦中(解決):

« LINQ to XMLで苦戦中…。 | トップページ | SQLServerパフォーマンス関係の情報取得メモ »