CusterBaseInfo表和CusterExInfo表中,都存在字段Custerid
有如下的xml文件,将custerid 单独提出来作为元素custer共有的属性id。
想用bulk load 的方法,加载到数据库中。错误提示: Schema: relationship expected on 'Custer'
想问下该怎么做。加载的方法可参考,
http://topic.csdn.net/u/20100113/22/68d617ad-95d0-41ab-96b8-3dc2d9d2f58d.html<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="myschema.xsd">
<Custer id="0001">
<CusterBaseInfo operation="N">
<F_CusterName>名称</F_CusterName>
<F_CreateUser>操作员名称</F_CreateUser>
</CusterBaseInfo>
<CusterExInfo operation="N">
<F_Price>13</F_Price>
<F_Pribe>14</F_Pribe>
</CusterExInfo>
</Custer>
<Custer id="0002">
<CusterBaseInfo operation="N">
<F_CusterName>名称2</F_CusterName>
<F_CreateUser>操作员名称2</F_CreateUser>
</CusterBaseInfo>
<CusterExInfo operation="N">
<F_Price>23</F_Price>
<F_Pribe>24</F_Pribe>
</CusterExInfo>
</Custer>
</root>SCHEMA文件<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:simpleType name="operation">
<xs:restriction base="xs:token">
<xs:pattern value="N|U|n|u"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="F_Price">
<xs:restriction base="xs:token">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="F_Pribe">
<xs:restriction base="xs:token">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="F_CusterName">
<xs:restriction base="xs:token">
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="F_CreateUser">
<xs:restriction base="xs:token">
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Custerid">
<xs:restriction base="xs:token">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CusterBaseInfo">
<xs:sequence>
<xs:element name="F_CusterName" type="F_CusterName"/>
<xs:element name="F_CreateUser" type="F_CreateUser"/>
</xs:sequence>
<xs:attribute name="operation" type="operation" use="optional" default="N"/>
</xs:complexType>
<xs:complexType name="CusterExInfo">
<xs:sequence>
<xs:element name="F_Price" type="F_Price"/>
<xs:element name="F_Pribe" type="F_Pribe"/>
</xs:sequence>
<xs:attribute name="operation" type="operation" use="optional" default="N"/>
</xs:complexType>

<xs:complexType name="Custer">
<xs:sequence>
<xs:element name="CusterBaseInfo" type="CusterBaseInfo" minOccurs="0"/>
<xs:element name="CusterExInfo" type="CusterExInfo" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="Custerid" use="required"/>
</xs:complexType>
<xs:complexType name="root">
<xs:sequence>
<xs:element name="Custer" type="Custer" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="root" type="root"/>
</xs:schema>
测试用的数据表if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CusterExInfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[CusterExInfo]
GOCREATE TABLE [dbo].[CusterExInfo] (
[F_Price] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[F_Pribe] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[Custerid] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL 
) ON [PRIMARY]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CusterBaseInfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[CusterBaseInfo]
GOCREATE TABLE [dbo].[CusterBaseInfo] (
[F_CusterNam] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[F_CreateUser] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[Custerid] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL 
) ON [PRIMARY]
GO