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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

ADO.NET与XML的结合

發(fā)布時(shí)間:2025/4/16 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ADO.NET与XML的结合 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ADO.NET在DataSet中提供對(duì)XML的廣泛支持.下面是使用XML和ADO.NET的一些技巧信息。
I.DataSet和XML
??????? DataSet和XML的完美整合,可以使你完成以下事情:
??????????? ①?gòu)腦SD計(jì)劃中載入一個(gè)DataSet的計(jì)劃或相關(guān)結(jié)構(gòu);
??????????? 下面的例子說(shuō)明一個(gè)XSD文件的結(jié)構(gòu),其中MyDataSet就是我們的DataSet元素,它下面包含一個(gè)customers復(fù)合類(lèi)型元素,有了它我們就可以映射創(chuàng)建一個(gè)這樣的表:Customers (CustomerID,CompanyName,Phone),同時(shí)也定義我們的DataSet的計(jì)劃或者結(jié)構(gòu):

<xs:schema id=&quot;SomeID&quot; xmlns=&quot;&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:msdata=&quot;urn:schemas-microsoft-com:xml-msdata&quot;> <xs:element name=&quot;MyDataSet&quot; msdata:IsDataSet=&quot;true&quot;> <xs:complexType> <xs:choice maxOccurs=&quot;unbounded&quot;> <xs:element name=&quot;customers&quot; > <xs:complexType > <xs:sequence> <xs:element name=&quot;CustomerID&quot; type=&quot;xs:integer&quot; minOccurs=&quot;0&quot; /> <xs:element name=&quot;CompanyName&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; /> <xs:element name=&quot;Phone&quot; type=&quot;xs:string&quot; /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema>

②從XML文件中載入一個(gè)DataSet的內(nèi)容;
??????????? 要從XML文件填充DataSet的內(nèi)容,請(qǐng)使用DataSet對(duì)象的ReadXml方法。下面的例子說(shuō)明如何從一個(gè)XML文件讀取數(shù)據(jù)到一個(gè)DataSet:

?

DataSet myDS = new DataSet();
myDS.ReadXml(&quot;input.xml&quot;, XmlReadMode.ReadSchema);

③當(dāng)沒(méi)有提供計(jì)劃時(shí)從一個(gè)XML文件的內(nèi)容中推斷一個(gè)DataSet的計(jì)劃;
??????????? 要從一個(gè)XML文件載入DataSet的計(jì)劃信息,你可以使用DataSet對(duì)象的ReadXmlSchema方法。如果沒(méi)有提供計(jì)劃,你還可以使用InferXmlSchema從XML文件推斷DataSet的計(jì)劃,下面的例子介紹如何通過(guò)InferXmlSchema從一個(gè)XML文件推斷出DataSet的計(jì)劃:

?

DataSet myDS = new DataSet();
myDS.InferXmlSchema(&quot;input_od.xml&quot;, new string[] &quot;urn:schemas-microsoft-com:officedata&quot;);

④象XSD格式計(jì)劃一樣寫(xiě)一個(gè)DataSet的計(jì)劃;
??????????? 下面的例子展示如何通過(guò)ReadXmlSchema從一個(gè)XSD文件載入DataSet的計(jì)劃:

?

DataSet myDS = new DataSet();
myDS.ReadXmlSchema(&quot;schema.xsd&quot;);

⑤象XML格式文件一樣讀寫(xiě)一個(gè)DataSet的內(nèi)容。
??????????? 利用DiffGrams從DataSet中讀寫(xiě)內(nèi)容,下面的例子顯示在提交更改之前更新表中一行數(shù)據(jù)的結(jié)果,其中CustomerID為ALFKI的那一行數(shù)據(jù)被修改但是還沒(méi)有更新:

?

<diffgr:diffgram xmlns:msdata=&quot;urn:schemas-microsoft-com:xml-msdata&quot; xmlns:diffgr=&quot;urn:schemas-microsoft-com:xml-diffgram-v1&quot;>
? <CustomerDataSet>
??? <Customers diffgr:id=&quot;Customers1&quot; msdata:rowOrder=&quot;0&quot; diffgr:hasChanges=&quot;modified&quot;>
????? <CustomerID>ALFKI</CustomerID>
????? <CompanyName>New Company</CompanyName>
??? </Customers>
??? <Customers diffgr:id=&quot;Customers2&quot; msdata:rowOrder=&quot;1&quot; diffgram:hasErrors=&quot;true&quot;>
????? <CustomerID>ANATR</CustomerID>
????? <CompanyName>Ana Trujillo Emparedados y helados</CompanyName>
??? </Customers>
??? <Customers diffgr:id=&quot;Customers3&quot; msdata:rowOrder=&quot;2&quot;>
????? <CustomerID>ANTON</CustomerID>
????? <CompanyName>Antonio Moreno Taquerí&amp;shy;a</CompanyName>
??? </Customers>
??? <Customers diffgr:id=&quot;Customers4&quot; msdata:rowOrder=&quot;3&quot;>
????? <CustomerID>AROUT</CustomerID>
??? <CompanyName>Around the Horn</CompanyName>
??? </Customers>
? </CustomerDataSet>
? <diffgr:before>
??? <Customers diffgr:id=&quot;Customers1&quot; msdata:rowOrder=&quot;0&quot;>
????? <CustomerID>ALFKI</CustomerID>
????? <CompanyName>Alfreds Futterkiste</CompanyName>
? </Customers>
? </diffgr:before>
? <diffgr:errors>
??? <Customers diffgr:id=&quot;Customers2&quot; diffgr:Error=&quot;An optimistic concurrency violation has occurred for this row.&quot;/>
? </diffgr:errors>
</diffgr:diffgram>

轉(zhuǎn)載于:https://www.cnblogs.com/superfang/archive/2008/07/03/1234575.html

總結(jié)

以上是生活随笔為你收集整理的ADO.NET与XML的结合的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。