閲覧総計:&counter(); (本日:&counter(today); 昨日:&counter(yesterday);) XMLデータをLINQ to XMLの機能を用い、データ追加し、結果をGridViewに表示した。 09/09/06 ↓このページを参考にした。(リスト3) http://itpro.nikkeibp.co.jp/article/COLUMN/20080406/298105/?ST=develop 開発環境:VWD2008 サーバ:Windows Server2003 + .NET Framework3.5 【機能】XMLデータの作成、データ追加を行い、結果をGridViewに表示する。 ※XMLデータ udons_makeXml.xml が App_Dataフォルダ内に作成される。 【稼働画面】 #ref(add.JPG); 【AddLinqXml.aspx】[3.5] <%@ Page Language="VB" %> <!-- System.IO名前空間を追加(File.Exists()メソッド使用の為) --> <%@ Import Namespace="System.IO" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) 'xmlデータが既に存在する場合 If File.Exists(Server.MapPath("~/App_Data/udons_makeXml.xml")) = True Then Dim xmldoc = XDocument.Load(Server.MapPath("~/App_Data/udons_makeXml.xml")) '結果のGridViewへの表示 Dim list = From c In xmldoc.Descendants("商品") _ Select _ 品名 = c.Element("品名").Value, _ 価格 = c.Element("価格").Value GridView1.DataSource = list GridView1.DataBind() End If End Sub Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) If File.Exists(Server.MapPath("~/App_Data/udons_makeXml.xml")) = False Then 'xmlデータが存在しない場合 Dim udonElem As XDocument = New XDocument(New XDeclaration("1.0", "utf-8", "yes"), _ New XElement("商品情報", New XElement("商品", _ New XElement("品名", TextBox1.Text), _ New XElement("価格", TextBox2.Text)))) udonElem.Save(Server.MapPath("~/App_Data/udons_makeXml.xml")) '結果のGridViewへの表示 Dim list = From c In udonElem.Descendants("商品") _ Select _ 品名 = c.Element("品名").Value, _ 価格 = c.Element("価格").Value GridView1.DataSource = list GridView1.DataBind() Else 'xmlデータが存在する場合 Dim doc As XElement = XElement.Load(Server.MapPath("~/App_Data/udons_makeXml.xml")) Dim udon_AddData As XElement = New XElement("商品", _ New XElement("品名", TextBox1.Text), _ New XElement("価格", TextBox2.Text)) '生成したXMLをルート要素以下に追加する doc.Add(udon_AddData) doc.Save(Server.MapPath("~/App_Data/udons_makeXml.xml")) '結果のGridViewへの表示 Dim list = From c In doc.Descendants("商品") _ Select _ 品名 = c.Element("品名").Value, _ 価格 = c.Element("価格").Value GridView1.DataSource = list GridView1.DataBind() End If End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>データを追加しXMLツリーを生成(LINQ to XML)</title> </head> <body> <form id="form1" runat="server"> <div> データを追加しXMLツリーを生成(LINQ to XML) 09/09/06<br /> うどん品名、うどん単価を入力し、OKをクリックするとXMLデータが追加される。<br /> <br /> うどん品名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <br /> うどん単価:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Height="21px" Text="OK" Width="73px" onclick="Button1_Click" /> <br /> <br /> <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </div> </form> </body> </html> 【参考にしたページ】 1.生成処理:1からのXMLツリーの生成 08/04/08 http://itpro.nikkeibp.co.jp/article/COLUMN/20080406/298105/?ST=develop #comment_nospam #vote(参考になった[0],ふつう[0],参考にならなかった[0])