XML 持久性格式

ADO 对它保留的 XML 流使用 UTF-8 编码。

ADO XML 格式分为两个部分,架构部分后跟数据部分。 下面是 Northwind 数据库中“运货商”表的示例 XML 文件。 以下示例将讨论 XML 的各个部分。

言论

<xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"   
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"   
xmlns:rs="urn:schemas-microsoft-com:rowset"   
xmlns:z="#RowsetSchema">   
  <s:Schema id="RowsetSchema">   
    <s:ElementType name="row" content="eltOnly" rs:updatable="true">   
      <s:AttributeType name="ShipperID" rs:number="1"   
        rs:basetable="shippers" rs:basecolumn="ShipperID"  
        rs:keycolumn="true">   
        <s:datatype dt:type="int" dt:maxLength="4" rs:precision="10"   
          rs:fixedlength="true" rs:maybenull="false"/>   
      </s:AttributeType>   
      <s:AttributeType name="CompanyName" rs:number="2"   
        rs:nullable="true" rs:write="true" rs:basetable="shippers"   
        rs:basecolumn="CompanyName">   
        <s:datatype dt:type="string" dt:maxLength="40" />   
      </s:AttributeType>   
      <s:AttributeType name="Phone" rs:number="3" rs:nullable="true"   
        rs:write="true" rs:basetable="shippers"   
        rs:basecolumn="Phone">   
        <s:datatype dt:type="string" dt:maxLength="24"/>   
      </s:AttributeType>   
      <s:extends type="rs:rowbase"/>   
    </s:ElementType>   
  </s:Schema>   
  
  <rs:data>   
    <z:row ShipperID="1" CompanyName="Speedy Express"   
      Phone="(503) 555-9831"/>   
    <z:row ShipperID="2" CompanyName="United Package"   
      Phone="(503) 555-3199"/>   
    <z:row ShipperID="3" CompanyName="Federal Shipping"   
      Phone="(503) 555-9931"/>   
  </rs:data>   
</xml>  

该架构显示命名空间、架构部分和数据部分的声明。 架构部分包含行、运货商 ID、CompanyName 和 Phone 的定义。

架构定义符合 W3C XML-Data 规范,并且可以完全验证(尽管 Internet Explorer 5 中不会进行验证)。 XML-Data 目前是唯一受支持的记录集持久性架构格式。

数据部分包含有关发货人的信息的三行。 对于空行集,数据节可能为空,但 <rs:data> 标记必须存在。 如果没有数据,可以将标记简写为 <rs:data/>。 前缀为“rs”的任何标记都表示它位于 urn:schemas-microsoft-com:rowset 定义的命名空间中。

另请参阅

以 XML 格式保存记录