XML 暂留格式
ADO 对其持久存在的 XML 流使用 UTF-8 编码。
ADO XML 格式分为两部分,一个是架构部分,后面是数据部分。 以下是 Northwind 数据库中 Shippers 表的 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>
架构显示命名空间、架构部分和数据部分的声明。 架构部分包含 ShipperID、CompanyName 和 Phone 行的定义。
模式定义符合 W3C XML-Data 规范并且可以完全验证(但不会在 Internet Explorer 5 中进行验证)。 XML-Data 目前是 Recordset 持久性唯一受支持的模式格式。
数据部分包含三行包含有关托运人的信息。 对于空行集,数据部分可能为空,但 <rs:data> 标记必须存在。 如果没有数据,你可以将标签简写为简单的 <rs:data/>。 任何以“rs”为前缀的标记都表示它位于 urn:schemas-microsoft-com:rowset 定义的命名空间中。