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

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

XmlDataSource.GetXmlDocument メソッド

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

XML データを、基になるデータ ストレージから直接メモリに読み込むか、キャッシュからメモリに読み込むことにより、それを XmlDataDocument オブジェクトの形式で返します。

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

Public Function GetXmlDocument As
 XmlDocument
Dim instance As XmlDataSource
Dim returnValue As XmlDocument

returnValue = instance.GetXmlDocument
public XmlDocument GetXmlDocument ()
public:
XmlDocument^ GetXmlDocument ()
public XmlDocument GetXmlDocument ()
public function GetXmlDocument () : XmlDocument

戻り値
Data プロパティで指定された XML、または、DataFile プロパティで指定されたファイル内の XML を表す XmlDataDocument オブジェクト。変換および XPath クエリはすべて適用された状態で返されます。

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

このセクションには、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"?>
 <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 名前空間
Save
DataFile



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

XmlDataSource.GetXmlDocument メソッドのお隣キーワード

   

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



XmlDataSource.GetXmlDocument メソッドのページの著作権

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

©2026 GRAS Group, Inc.RSS