我有一个巨大的XML文件的完整的员工和信息,并有一个问题。 XML文件的SQLXMLBulkLoad架构验证问题(容易)
例子:
<Employees>
<Employee>
<EmployeeID>blah</EmployeeID>
<FirstName>blah</FirstName>
<LastName>blah</LastName>
<MiddleName>blah</MiddleName>
.......... and on
</Employee>
........ and on
</Employees>
我的模式,到目前为止是这样的:
<?xml version="1.0" encoding="utf-8"?>
<xsd:element name="Employees" sql:relation="The_Employees">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Employee">
<xsd:element name="EmployeeID" sql:field="EmpNo" type="xsd:integer"/>
<xsd:element name="FirstName" sql:field="FirstName">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="collapse"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
.......... and on
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
从我的研究中,根元素应该包含关系在数据库的表(为了保密,在这个例子中,名称是“The_Employees”)所以,我做了关系,并且也取得了SQL:字段表中的每一列,因为列名比XML不同元素标签在大多数情况下。但是,在哪些方面我可以将每个<Employee>
标签与我的表相关联?此外,同时验证XML,它抛出这个错误:
The content of 'Employee' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: element.
这似乎是验证在想,我试图分裂内容分成两个单独的表,因此需要注解的是,但我不是。有什么建议么?
仅供参考:这里的最终产品将是它使用SQLXMLBulkLoad从XML文件中的数据加载到一个新的SQL表一个VB.NET程序。