XML 與DataSet 物件的關係

2021-09-06 01:22:50 字數 4485 閱讀 3861

在.net framework 中,經常使用xml 作為儲存和傳輸各種資料的格式。

dataset 中的資料可以轉換成xml 的形式來表示和儲存。

我們可以使用xml 物件同步和轉換dataset 的資料,而dataset 也可以儲存和傳輸xml 格式的資料。

xml 與 dataset 的關係如下圖所示:

dataset 物件的常用方法如下:

a.使用readxml( ) 方法:從檔案或流中載入xml 資料,填充dataset 物件。

dataset 物件.readxml( 檔案路徑字串|stream 物件, xmlreadmode 列舉值[可以省略] ) ;

b.使用writexml( ) 方法:將dataset 物件中的資料以xml 格式寫出到檔案或流中。

dataset 物件.writexml( 檔案路徑字串| stream 物件, xmlwritemode 列舉值[可以省略] ) ;

c.使用readxmlschema( ) 方法:將shema 模式檔案讀入dataset 物件。

dataset 物件.readxmlschema( stream | filename | textreader | xmlreader ) ;

d.使用writexmlschema( ) 方法:將dataset 物件的shema 模式檔案寫出到檔案或流。

dataset 物件.writexmlschema( stream | filename | textwriter | xmlwriter ) ;

e.使用getxmlschema( ) 方法:將dataset 物件的shema 模式,以字串的形式獲得。

dataset 物件.getxmlschema( );

f.使用getxml( ) 方法:將dataset 物件的xml 格式的資料集,以字串的形式獲得。

dataset 物件.getxml( );

接下來,通過乙個綜合示例進行演示。

person.xml 檔案如下:

<

?xml

version="

1.0"

encoding="

utf-8"?

>

<

persons

>

<

person

>

<

id>

0<

/id>

<

name

>

mark

<

/name

>

<

age>

18<

/age

>

<

/person

>

<

person

>

<

id>

1<

/id>

<

name

>

jorn

<

/name

>

<

age>

22<

/age

>

<

/person

>

<

person

>

<

id>

2<

/id>

<

name

>

aderson

<

/name

>

<

age>

30<

/age

>

<

/person

>

<

/persons

>

customer.xsd 檔案如下:

<

?xml

version="

1.0"

encoding="

utf-8"?

>

<

xs:schema

xmlns:xs="

"xmlns:msdata="

urn:schema-microsoft-com:xml-msdata

"elementformdefault="

qualified

"attributeformdefault="

unqualified"id

="customers

">

<

xs:element

name="

customers

"msdata:isdataset="

true

"msdata:enforceconstraints="

false

">

<

xs:complextype

>

<

xs:choice

maxoccurs="

unbounded

">

<

xs:element

name="

customer

"type="

customerstype"/

>

<

/xs:choice

>

<

/xs:complextype

>

<

/xs:element

>

<

xs:complextype

name="

customerstype

">

<

xs:sequence

>

<

xs:element

name="

customersid

"type="

xs:string

"minoccurs="

0"/>

<

xs:element

name="

customersname

"type="

xs:string

"minoccurs="

0"/>

<

xs:element

name="

customersage

"type="

xs:int

"minoccurs="

0"/>

<

/xs:sequence

>

<

/xs:complextype

>

<

/xs:schema

>

winform 程式的源**如下:

namespace

dataset_xml_demo

datasetds=

newdataset()

;//讀取xml文件的資料到dataset

private

void

btnreadxml_click

(object

sender,

eventargse)

//將dataset中的資料寫出到xml文件

private

void

btnwritexml_click

(object

sender,

eventargse)

//載入schema給dataset

private

void

btnreadxmlschema_click

(object

sender,

eventargse)

//將dataset的schema寫出

private

void

btnwritexmlschema_click

(object

sender,

eventargse)

//getxml()方法的使用

private

void

btngetxml_click

(object

sender,

eventargse)

//getxmlschema()方法的使用

private

void

btngetxmlschema_click

(object

sender,

eventargse)

}}

winform 程式的介面效果如下:

XML與DataSet的相互轉換

一 xml 與 dataset 的關係如下圖所示 二 dataset 物件的常用方法如下 a.使用readxml 方法 從檔案或流中載入xml 資料,填充dataset 物件。dataset 物件.readxml 檔案路徑字串 stream 物件,xmlreadmode 列舉值 可以省略 b.使用w...

XML與DataSet的相互轉換

xmldatasetconvert 該類提供了四種方法 1 將xml物件內容字串轉換為dataset 2 將xml檔案轉換為dataset 3 將dataset轉換為xml物件字串 4 將dataset轉換為xml檔案 xmldatasetconvert.cs using system using ...

DataSet與xml檔案的互相轉換

dataset轉換為xml檔案 將dataset轉換為xml檔案 private static void convertdatasettoxmlfile dataset xmlds,string xmlfile catch system.exception ex finally xml與datase...