XmlDataSource.Save メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > XmlDataSource.Save メソッドの意味・解説 

XmlDataSource.Save メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

DataFile プロパティ設定されている場合に、XmlDataSource コントロールが現在メモリ内に保持している XML データディスク保存します

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

例外例外
解説解説
使用例使用例

このセクションには、2 つコード例含まれています。1 つ目のコード例は、XmlDataSource コントロールを TreeView コントロール組み合わせて使用しXML ファイル内の XML データ表示および編集する方法示してます。2 つ目のコード例は、XmlDataSource コントロールテンプレートRepeater コントロール組み合わせて使用しXML ファイル内の XML データ表示および編集する方法示してます。

次のコード例は、XmlDataSource コントロールTreeView コントロール組み合わせて使用しXML ファイル内の XML データ表示および編集する方法示してます。TreeViewノード選択されるたびに、GetXmlDocument メソッド使用してデータメモリ内で操作した後、XML ファイル保存してます。最後にTreeView コントロールに対して DataBind を呼び出し表示するデータ更新します

<%@ Page LANGUAGE="VB" SMARTNAVIGATION="false"
 %>
<%@ Import Namespace="System.Xml"
 %>

<script runat="server" >
  Private Sub TreeView1_SelectedNodeChanged(sender
 As Object, e As EventArgs)

    Dim myXml As New XmlDocument
    myXml = CType(XmlSource.GetXmlDocument(), XmlDataDocument)

    Dim iterator As String
 = TreeView1.SelectedNode.DataPath
    Dim myNode As XmlNode = myXml.SelectSingleNode(iterator)

    myNode.InnerText = "ThisIsATest"
    XmlSource.Save()
    TreeView1.DataBind()
    TreeView1.ExpandAll()
  End Sub ' TreeView1_SelectedNodeChanged
</script>

<form runat="server" >
  <asp:xmldatasource
    runat="server"
    id="XmlSource"
    xpath="/bookstore/book"
    datafile="Booksort.xml"
    enableviewstate="False"
    enablecaching="False" />

  <asp:treeview
    runat="server"
    id="TreeView1"
    initialexpanddepth="3"
    datasourceid="XmlSource"
    maxdatabinddepth="3"
    autogeneratedatabindings="False"
    onselectednodechanged="TreeView1_SelectedNodeChanged"
 >
    <databindings>
      <asp:treenodebinding datamember="book" valuefield="publicationdate"
 />
      <asp:treenodebinding datamember="title" valuefield="#InnerText"
 />
      <asp:treenodebinding datamember="author"
 valuefield="#InnerText" />
      <asp:treenodebinding datamember="first-name"
 valuefield="#InnerText" />
      <asp:treenodebinding datamember="last-name"
 valuefield="#InnerText" />
    </databindings>
  </asp:treeview>

  </form>
<%@ Page LANGUAGE="CS" SMARTNAVIGATION="false"
 %>
<%@ Import Namespace="System.Xml" %>

<script runat="server" >
  void TreeView1_SelectedNodeChanged(Object sender, EventArgs
 e)
  {
    XmlDocument myXml = new XmlDocument();
    myXml=(XmlDocument)XmlSource.GetXmlDocument();

    String iterator = TreeView1.SelectedNode.DataPath;

    XmlNode myNode = myXml.SelectSingleNode(iterator);

    myNode.InnerText = "ThisIsATest";
    XmlSource.Save();
    TreeView1.DataBind();
    TreeView1.ExpandAll();
  }
</script>

<form runat="server">

  <asp:xmldatasource
    runat="server"
    id="XmlSource"
    xpath="/bookstore/book"
    datafile="Booksort.xml"
    enableviewstate="False"
    enablecaching="False" />

  <asp:treeview
    runat="server"
    id="TreeView1"
    initialexpanddepth="3"
    datasourceid="XmlSource"
    maxdatabinddepth="3"
    autogeneratedatabindings="False"
    onselectednodechanged="TreeView1_SelectedNodeChanged" >
    <databindings>
      <asp:treenodebinding datamember="book" valuefield="publicationdate"
 />
      <asp:treenodebinding datamember="title" valuefield="#InnerText"
 />
      <asp:treenodebinding datamember="author" valuefield="#InnerText"
 />
      <asp:treenodebinding datamember="first-name" valuefield="#InnerText"
 />
      <asp:treenodebinding datamember="last-name" valuefield="#InnerText"
 />
    </databindings>
  </asp:treeview>

  </form>
<%@ Page LANGUAGE="VJ#" SMARTNAVIGATION="false"
 %>
<%@ Import Namespace="System.Xml" %>

<script runat="server" >
    void TreeView1_SelectedNodeChanged(Object sender, System.EventArgs
 e)
    {
        XmlDocument myXml = new XmlDocument();
        myXml=(XmlDocument)XmlSource.GetXmlDocument();
        String iterator = TreeView1.get_SelectedNode().get_DataPath();
        XmlNode myNode = myXml.SelectSingleNode(iterator);
        myNode.set_InnerText("ThisIsATest");
        XmlSource.Save();
        TreeView1.DataBind();
        TreeView1.ExpandAll();
    }//TreeView1_SelectedNodeChanged
</script>

<form runat="server">

  <asp:xmldatasource
    runat="server"
    id="XmlSource"
    xpath="/bookstore/book"
    datafile="Booksort.xml"
    enableviewstate="False"
    enablecaching="False" />

  <asp:treeview
    runat="server"
    id="TreeView1"
    initialexpanddepth="3"
    datasourceid="XmlSource"
    maxdatabinddepth="3"
    autogeneratedatabindings="False"
    onselectednodechanged="TreeView1_SelectedNodeChanged" >
    <databindings>
      <asp:treenodebinding datamember="book" valuefield="publicationdate"
 />
      <asp:treenodebinding datamember="title" valuefield="#InnerText"
 />
      <asp:treenodebinding datamember="author" valuefield="#InnerText"
 />
      <asp:treenodebinding datamember="first-name" valuefield="#InnerText"
 />
      <asp:treenodebinding datamember="last-name" valuefield="#InnerText"
 />
    </databindings>
  </asp:treeview>

  </form>

次のコード例は、XmlDataSource コントロールを、テンプレートRepeater コントロール組み合わせて使用しXML ファイル内の XML データ表示および編集する方法示してます。前の例と同様、データGetXmlDocument メソッドによって取得されXmlDataDocument オブジェクト使用しメモリ内で操作されます。最後にTreeView コントロールに対して DataBind呼び出し表示するデータ更新します

<%@ Page LANGUAGE="VB" SMARTNAVIGATION="false"
 %>
<%@ Import Namespace="System.Xml"
 %>

<script runat="server" >

  Private Sub Button1_Click(sender As
 Object, e As EventArgs)

    Dim myXml As New XmlDocument
    myXml = CType(XmlSource.GetXmlDocument(), XmlDocument)

    Dim path As String =
 "bookstore/book/@publicationdate"
    Dim nodeList As XmlNodeList = myXml.SelectNodes(path)

    Dim aDate As XmlNode
    For Each aDate In  nodeList
      Dim helper As Integer
 = Int32.Parse(aDate.Value) + 2
      aDate.Value = helper.ToString()
    Next aDate

    XmlSource.Save()
    Repeater1.DataBind()

  End Sub 'Button1_Click
</script>

<form runat="server" >

  <asp:XmlDataSource
    runat="server"
    ID="XmlSource"
    XPath="bookstore/book[@genre='novel']"
    DataFile="Booksort2.xml"
    EnableViewState="True"
    EnableCaching="False" />

  <asp:Repeater
    runat="server"
    ID="Repeater1"
    DataSourceID="XmlSource" >
      <ItemTemplate >
        <h1><%# XPath ("title/text()") %>
 </h1>
          <b>Author:</b><%# XPath ("author/first-name/text()")
 %> <%# XPath ("author/last-name/text()") %>
          <b>PublicationDate:</b><%# XPath ("@publicationdate")
 %>
          <b>Price:</b><%# XPath ("price/text()")
 %>
      </ItemTemplate>
  </asp:Repeater>


  <p><asp:Button
    runat="server"
    ID="Button1"
    onclick="Button1_Click"
    Text="Add 2 years to the Publication Date!" /></p>
</form>
<%@ Page LANGUAGE="CS" SMARTNAVIGATION="false"
 %>
<%@ Import NameSpace="System.Xml" %>
<script runat="server" >

  void Button1_Click(Object sender, EventArgs e)
  {
    XmlDocument myXml = new XmlDocument();
    myXml=(XmlDocument)XmlSource.GetXmlDocument();

    String path = "bookstore/book/@publicationdate";
    XmlNodeList nodeList;
    nodeList = myXml.SelectNodes(path);
    foreach (XmlNode date in nodeList)
      {
        int helper = int.Parse(date.Value)
 + 2;
        date.Value = helper.ToString();
      }
    XmlSource.Save();
    Repeater1.DataBind();
  }

</script>

<form runat="server" >

  <asp:XmlDataSource
    runat="server"
    ID="XmlSource"
    XPath="bookstore/book[@genre='novel']"
    DataFile="Booksort2.xml"
    EnableViewState="True"
    EnableCaching="False" />

  <asp:Repeater
    runat="server"
    ID="Repeater1"
    DataSourceID="XmlSource" >
      <ItemTemplate >
        <h1><%# XPath ("title/text()") %> </h1>
          <b>Author:</b><%# XPath ("author/first-name/text()")
 %> <%# XPath ("author/last-name/text()") %>
          <b>PublicationDate:</b><%# XPath ("@publicationdate")
 %>
          <b>Price:</b><%# XPath ("price/text()") %>
      </ItemTemplate>
  </asp:Repeater>


  <p><asp:Button
    runat="server"
    ID="Button1"
    onclick="Button1_Click"
    Text="Add 2 years to the Publication Date!" /></p>
</form>
<%@ Page LANGUAGE="VJ#" SMARTNAVIGATION="false"
 %>
<%@ Import NameSpace="System.Xml" %>
<script runat="server" >
    void Button1_Click(Object sender, System.EventArgs e)
    {
        XmlDocument myXml = new XmlDocument();
        myXml=(XmlDocument)XmlSource.GetXmlDocument();
        String path = "bookstore/book/@publicationdate";
        XmlNodeList nodeList;
        nodeList = myXml.SelectNodes(path);
        for(int iCtr =0; iCtr < nodeList.get_Count();
 iCtr++) {
            XmlNode date = nodeList.get_ItemOf(iCtr);
            int helper = Int32.Parse(date.get_Value()) + 2;
            date.set_Value(String.valueOf(helper));
        }
        XmlSource.Save();
        Repeater1.DataBind();
    }//Button1_Click
</script>

<form runat="server" >

  <asp:XmlDataSource
    runat="server"
    ID="XmlSource"
    XPath="bookstore/book[@genre='novel']"
    DataFile="Booksort2.xml"
    EnableViewState="True"
    EnableCaching="False" />

  <asp:Repeater
    runat="server"
    ID="Repeater1"
    DataSourceID="XmlSource" >
      <ItemTemplate >
        <h1><%# XPath ("title/text()") %> </h1>
          <b>Author:</b><%# XPath ("author/first-name/text()")
 %> <%# XPath ("author/last-name/text()") %>
          <b>PublicationDate:</b><%# XPath ("@publicationdate")
 %>
          <b>Price:</b><%# XPath ("price/text()") %>
      </ItemTemplate>
  </asp:Repeater>


  <p><asp:Button
    runat="server"
    ID="Button1"
    onclick="Button1_Click"
    Text="Add 2 years to the Publication Date!" /></p>
</form>

コード例XML ファイルには、次のデータ含まれています。

<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
 <bookstore xmlns:bk="urn:samples">
   <book genre="novel" publicationdate="1999" bk:ISBN="0000000000">
     <title>Secrets of Silicon Valley</title>
     <author>
       <first-name>Sheryl</first-name>
       <last-name>Hunter</last-name>
     </author>
     <price>24.95</price>" 
     </book>
   <book genre="novel" publicationdate="1985" bk:ISBN="1111111111">
     <title>Straight Talk About Computers</title>
     <author>
       <first-name>Dean</first-name>
       <last-name>Straight</last-name>
     </author>
     <price>29.95</price>
   </book>
</bookstore>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XmlDataSource クラス
XmlDataSource メンバ
System.Web.UI.WebControls 名前空間
GetXmlDocument



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

XmlDataSource.Save メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



XmlDataSource.Save メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS