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


このページでは「.NET Framework クラス ライブラリ リファレンス」からXmlDataSource.GetXmlDocument メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からXmlDataSource.GetXmlDocument メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からXmlDataSource.GetXmlDocument メソッド を検索

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

辞書ショートカット

すべての辞書の索引

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

   

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



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

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

©2025 GRAS Group, Inc.RSS