程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> vb.net DataSet 操作xml文件

vb.net DataSet 操作xml文件

編輯:.NET實例教程

 說明:在微軟ado.Net 2.0版本中,還不能把整個xml文件映射到DataSet集中。也就是說,XML裝入到DataSet時,總是能成功,但是在修改了數據保存時,DataSet始終按默認的格式保存,當不符合這種格式的XML文件出現時,將寫為不合格的xml文件,因此許多網友反映,DataSet寫XML文件出錯。如果讀者要調式時,要看DataSet倒底輸出的XML文件是什麼樣子時,請以文件流的形式調用writeXML方法;如果用文件名的方式,vs直接報告出錯而無法查看。

 

   微軟所默認的DataSet能准確無誤操作的XML格式是什麼樣的呢?

    以數據庫映射為XML文件的觀點描述。

DataSet表示一個數據庫,對應著xml第一層;一個關系表的記錄對應xml第二層,一個記錄中的各列的值,對應第三層。如何區分表的呢?XML第二層中節點名稱對應著關系表。

 

即:

    <?XML version="1.0" standalone="yes" ?>

<NewDataSet>

<1> <!—1的記錄1-->

  <字段1>字段值</字段1>

 <字段2>字段值</字段2>

</1>

<1> <!—1的記錄2-->

  <字段1>字段值</字段1>

 <字段2>字段值</字段2>

</1>

 

<2><!—2的記錄1-->

 <字段1>字段值</
字段
1>

 <字段2>字段值</字段2>

</2>

</NewDataSet>

 

Imports System.XML

Public Class Form1

    Dim ds As DataSet ''公共變 量

    Dim DataGrid1 As New DataGrid()

    ''要操作的xml文件路徑     Dim filepath As String = Application.StartupPath & "\mytest.XML"

    ''以下是DataSet裝載XML文件,並把dataset與DataGrid捆綁 示在窗體中

    Private Sub Button1_Click(ByVal sender As System.Object, _

          ByVal e As System.EventArgs) Handles Button1.Click

        ds = New DataSet()

        ds.ReadXML(filepath)

        DataGrid1.Size = Me.Size

        DataGrid1.DataSource = ds.Tables("item")’XML中第二層的節點名為item作為表

        Me.Controls.Add(DataGrid1) ''把datagrid加入到窗體中供顯 示

    End Sub

 

    ''以下是DataSet保存數 據到XML

    Private Sub Button2_Click(ByVal sender As System.Object, _

        ByVal e As System.EventArgs) Handles Button2.Click

 

 

        ds.WriteXML(filepath)

    End Sub

End Class

----下面是操作的XML文件

  <?XML version="1.0" standalone="yes" ?>

<NewDataSet>


<
item>

  <title>tiltle</title>

  <description>hello aaa</description>

</item>

<item>

  <title>111</title>

  <description>222</description>

</item>

<student>

  <no>11</no>

  <name>zhang shan</name>

</student>

</NewDataSet>

說明:上面這個XML文件在映身到DataSet時,有兩個表:itemstudent.第一層有兩類節點,一類名字是item,另一類是student

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved