日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DataSet用法操作xml

發布時間:2023/12/10 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DataSet用法操作xml 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ReadXml 提供了只將數據或同時將數據和架構從 XML 文檔讀入 DataSet 的方式(若要同時讀數據和架構,請使用包括 mode 參數的 ReadXML 重載之一,并將其值設置為 ReadSchema)。ReadXmlSchema 方法僅讀架構。

?

對于 WriteXml 和 WriteXmlSchema 方法也是如此。若要寫入來自 DataSet 的 XML 數據或架構和數據兩者,使用 WriteXml 方法。若要只寫入架構,請使用 WriteXmlSchema 方法。

?

XML 數據可直接從文件、Stream 對象、XmlWriter 對象或 TextWriter 對象中讀取。可以根據需要使用 ReadXml 的兩組重載方法中的一組。第一組中的四個重載方法只取一個參數。第二組中的四個重載方法除了取第一組中的一個參數外另外多取了一個參數 (XmlReadMode)。

?

1、ReadXml 方法的重載形式

DataSet.ReadXml (Stream) ? ? ? ? ? 使用指定的 System.IO.Stream 將 XML 架構和數據讀入 DataSet。

?

DataSet.ReadXml (String) ? ? ? ? ? ?使用指定的文件將 XML 架構和數據讀入 DataSet。

?

DataSet.ReadXml (TextReader) ? ?使用指定的 System.IO.TextReader 將 XML 架構和數據讀入 DataSet。

?

DataSet.ReadXml (XmlReader) ? ? 使用指定的 System.Xml.XmlReader 將 XML 架構和數據讀入 DataSet。

?

DataSet.ReadXml (Stream, XmlReadMode) ? 使用指定的 System.IO.Stream 和 XmlReadMode 將 XML 架構和數據讀入DataSet。

?

DataSet.ReadXml (String, XmlReadMode) ? ? 使用指定的文件和 XmlReadMode 將 XML 架構和數據讀入 DataSet。

?

DataSet.ReadXml (TextReader, XmlReadMode) ? ?使用指定的 System.IO.TextReader 和 XmlReadMode 將 XML 架構和數據讀入DataSet。

?

DataSet.ReadXml (XmlReader, XmlReadMode) ?使用指定的 System.Xml.XmlReader 和 XmlReadMode 將 XML 架構和數據讀入DataSet。

?

2、ReadXml 方法的重載形式

WriteXml(Stream) ? ?使用指定的 System.IO.Stream 為 DataSet 寫當前數據。

?

WriteXml(TextWriter) ? 使用指定的 TextWriter 為 DataSet 寫當前數據。

?

WriteXml(String) ? ?將 DataSet 的當前數據寫入指定的文件。

?

WriteXml(XmlWriter) ? ?將 DataSet 的當前數據寫入指定的 XmlWriter。

?

WriteXml(Stream, XmlWriteMode) ? 使用指定的 System.IO.Stream 和 XmlWriteMode 為 DataSet 寫當前數據,還可以選擇寫架構。若要寫架構,請將 mode 參數的值設置為 WriteSchema。

?

WriteXml(TextWriter, XmlWriteMode) ?使用指定的 TextWriter 和 XmlWriteMode 為 DataSet 寫當前數據,還可以選擇寫架構。若要寫架構,請將 mode 參數的值設置為 WriteSchema。

?

WriteXml(String, XmlWriteMode) ?使用指定的 XmlWriteMode 將 DataSet 的當前數據寫入指定的文件,還可以選擇將架構寫入指定的文件。若要寫架構,請將 mode 參數的值設置為 WriteSchema。

?

WriteXml(XmlWriter, XmlWriteMode) ? 使用指定的 XmlWriter 和 XmlWriteMode 為 DataSet 寫當前數據,還可以選擇寫架構。若要寫架構,請將 mode 參數的值設置為 WriteSchema。

?

3、注意點

(1)如果指定內聯架構,則該內聯架構用于在加載數據之前擴展現有的關系結構。如果存在任何沖突(例如,用不同的數據類型定義了同一個表中的同一列),將引發異常。

?

(2)如果未指定內聯架構,則在必要時按照 XML 文檔的結構通過推理擴展關系結構。如果不能通過推理擴展架構以公開所有數據,則將引發異常。

?

(3)如果 DataSet 的 XML 架構包含 targetNamespace,則可能無法讀取數據,并且在調用 ReadXml 以加載 XML 中包含具有無限定命名空間的元素的DataSet 時,可能會發生異常。若要讀取非限定元素,請按下例的演示,在 XML 架構中將 elementFormDefault 設置為“qualified”。

?

<xsd:schema id="MyDataSet"?

elementFormDefault="qualified"?

targetNamespace="http://www.tempuri.org/MyDataSet.xsd"?

xmlns="http://www.tempuri.org/MyDataSet.xsd"?

xmlns:xsd="http://www.w3.org/2001/XMLSchema"?

xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">?

</xsd:schema>

?

(4)如果 DataSet 的架構包含同一命名空間中同名但類型不同的元素,則當您嘗試通過指定 XmlReadMode.ReadSchema 將該架構讀入具有ReadXml 的 DataSet 時,將發生異常

?

4、實例:

(1)WriteXml()

?

using System;

?

using System.Collections.Generic;

?

using System.Text;

?

using System.Data.SqlClient;

?

using System.Data;

?

namespace sqlconnection1

?

{

?

class Program

?

{

?

private void SQLConnectionF(string source, string select)

?

{

?

//創建連接

?

SqlConnection con = new SqlConnection(source);

?

SqlDataAdapter adapt = new SqlDataAdapter(select, con);

?

try

?

{

?

con.Open();

?

Console.WriteLine("connection is successful!");

?

}

?

catch (Exception e)

?

{

?

Console.WriteLine("connection error is :{0}", e.ToString());

?

}

?

//創建DataSet

?

DataSet ds = new DataSet();

?

//將數據添加到DataSet中

?

adapt.Fill(ds, "mytest");

?

ds.WriteXml(@"e:\mytest.xml");

?

Console.ReadLine();

?

con.Close();

?

}

?

static void Main(string[] args)

?

{

?

string sou = "server=duanyf\\SQLEXPRESS;" + "Initial Catalog=master;" + "UID = sa;" + "Password = dyf123";

?

string sel = "SELECT name,number,low,high From dbo.spt_values";

?

Program sqlcon = new Program();

?

sqlcon.SQLConnectionF(sou, sel);

?

}

?

}

?

}

?

(2)ReadXml()

?

using System;

?

using System.Collections.Generic;

?

using System.Text;

?

using System.Data.SqlClient;

?

using System.Data;

?

namespace sqlconnection1

?

{

?

class Program

?

{

?

static void Main(string[] args)

?

{

?

DataSet dsxml = new DataSet();

?

dsxml.ReadXml(@"e:\mytest.xml");

?

Console.WriteLine("{0,-20} {1,-15}{2,-10}{3,-10}",dsxml.Tables[0].Columns[0],dsxml.Tables[0].Columns[1],

?

dsxml.Tables [0].Columns [2],dsxml .Tables[0].Columns[3]);

?

foreach (DataRow row in dsxml.Tables[0].Rows)

?

{

?

Console.WriteLine("{0,-20} {1,-15}{2,-10}{3,-10}",row[0],row[1],row[2],row[3]);

?

}

?

Console.ReadLine();

?

}

?

}

?

}

轉載于:https://www.cnblogs.com/janeaiai/p/4867826.html

總結

以上是生活随笔為你收集整理的DataSet用法操作xml的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。