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>

 

原文链接:

你可能感兴趣的:(.net)