以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  用xsd描述将xml文件映射到数据库时,若一个父标签中的一个子标签出现多次,如何将它们映射到一个表中?[求助][求助]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=27474)


--  作者:nature2005
--  发布时间:2/20/2006 11:34:00 AM

--  用xsd描述将xml文件映射到数据库时,若一个父标签中的一个子标签出现多次,如何将它们映射到一个表中?[求助][求助]
用xsd描述将xml文件映射到数据库时,若一个父标签中的一个子标签出现多次,如何将它们映射到一个表中?
如:
Xml文件为:
<a>
  <b>001</b>
  <b>002</b>
<b>003</b>
</a>

Xsd为:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
 <xs:element name="a" sql:relation="TABLE1">
  <xs:complexType>
   <xs:sequence>
    <xs:element name="b" nillable="true" >
     <xs:complexType>
      <xs:simpleContent>
       <xs:extension base="xs:string"/>
      </xs:simpleContent>
     </xs:complexType>
    </xs:element>
   </xs:sequence>
  </xs:complexType>
 </xs:element>
</xs:schema>

映射时给出的错误提示为:[已在数据中找到至列 'KEYWORD' 的数据映射。请确认没有任何两个架构定义映射到同一列。]
请问该问题该如何解决?
此问题已困扰小弟多日,在线等候各位大虾帮忙,非常感谢!


--  作者:SATOKO2006
--  发布时间:2/20/2006 1:00:00 PM

--  
可能是你的XSD有问题吧,我用access试了一下,再给<b>加个属性id,好像可以吧,呵呵
--  作者:nature2005
--  发布时间:2/20/2006 2:41:00 PM

--  
如果不让给<b>加属性呢?  即xml文件不能改动,只能改动xsd,该如何改?
谢谢!
--  作者:SATOKO2006
--  发布时间:2/21/2006 11:58:00 AM

--  
有空再试了哈
--  作者:wFirebird
--  发布时间:3/9/2006 1:01:00 PM

--  
你的XML文件根本就通不过Schema文件的验证,一个element如果不设置mixOccur和micOccur时默认值为1,所以<B>只能出现一次,所以……

W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms