• 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>
    原文链接:
  • 相关阅读:
    androidstudio配置http proxy以及配置gradle
    发布jar到docker的方法
    idea直接发布项目到docker中
    安卓启动相机报错android.os.FileUriExposedException: file:///storage/emulated/0/
    centos 7.4搭建Harbor、push docker镜像以及常见错误
    dock的卸载与安装
    centos部署Kubernetes(k8s)集群
    Logback将日志输出到Kafka配置示例
    JavaScript设计模式 Item 5 --链式调用
    你不知道的JavaScript--Item27 异步编程异常解决方案
  • 原文地址:https://www.cnblogs.com/JavCof/p/3433596.html
Copyright © 2020-2023  润新知