ADO.NET 快速入門(六):讀寫 XML

ADO.NET 和 DataSet 能夠讀寫 XML Schema 和 XML。獲取更多信息,請參考  How do I...Use XML and the DataSet?
 
DataSet 的 Schemas,或者 tables、columns、constraints 等等, 能夠用幾種方式定義。一種方法是利用特性和方法建立他們(Tables.Add、Columns.Add、等等)。在 DataSet 內部創建了一個 Schema,能夠做爲容器保存數據。另外一種方法是使用 SqlDataAdapter 或者 OleDbDataAdapter。當你使用這些命令,若是 DataSet 中的 Schema 不存在,則建立它。
 
XML 是 ADO.NET 的內部構造。若干支持 XML 的方法已經獲得實現。GetXmlSchema 方法容許獲取 DataSet 的 Schema 做爲 XSD Schema。好比,從數據庫加載 DataSet,能夠從中獲取到 XSD Schema:
 
示例1:
 
    Console.WriteLine(myDataSet.GetXmlSchema());

 

這會返回 XSD 兼容 XML Schema,做爲 DataSet 的 Schema。
 
XML 表達方法也是經過 GetXml 方法檢索。
 
示例2:
 
    Console.WriteLine(myDataSet.GetXml());

 

示例3顯示了從數據庫加載數據,而後輸出 XSD Schema 和 XML 數據。

示例3:數據庫

            SqlConnection myConnection = new SqlConnection("server=(local);Integrated Security=SSPI;database=northwind");
            SqlDataAdapter myDataAdapter = new SqlDataAdapter("SELECT TOP 1 * FROM Customers", myConnection);

            DataSet myDataSet = new DataSet();
            myDataAdapter.Fill(myDataSet, "Customers");

            // 獲取 XML Schema
            Console.WriteLine(myDataSet.GetXmlSchema());

            // 獲取 XML 數據
            Console.WriteLine(myDataSet.GetXml());

 

獲取 XML Schema:
<?xml version="1.0" encoding="utf-16"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale=
"true">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Customers">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="CustomerID" type="xs:string" minOccurs="0" />
              <xs:element name="CompanyName" type="xs:string" minOccurs="0" />
              <xs:element name="ContactName" type="xs:string" minOccurs="0" />
              <xs:element name="ContactTitle" type="xs:string" minOccurs="0" />
              <xs:element name="Address" type="xs:string" minOccurs="0" />
              <xs:element name="City" type="xs:string" minOccurs="0" />
              <xs:element name="Region" type="xs:string" minOccurs="0" />
              <xs:element name="PostalCode" type="xs:string" minOccurs="0" />
              <xs:element name="Country" type="xs:string" minOccurs="0" />
              <xs:element name="Phone" type="xs:string" minOccurs="0" />
              <xs:element name="Fax" type="xs:string" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>

 

獲取 XML 數據:
<NewDataSet>
  <Customers>
    <CustomerID>ALFKI</CustomerID>
    <CompanyName>Alfreds Futterkiste</CompanyName>
    <ContactName>Maria Anders</ContactName>
    <ContactTitle>Sales Representative</ContactTitle>
    <Address>Obere Str. 57</Address>
    <City>Berlin</City>
    <PostalCode>12209</PostalCode>
    <Country>Germany</Country>
    <Phone>030-0074321</Phone>
    <Fax>030-0076545</Fax>
  </Customers>
</NewDataSet>

 

原文連接:
相關文章
相關標籤/搜索