关于存放XML定义的数据库表结构设计的问题LZ需要把多个数据集的数据写入到一个XML里,这些个数据集呢都是很简单的查询啦,XML结构大家都了解的,包含了处理指令、根元素、子元素、嵌套元素、属性、注释等等一些结构要素。
现在XML的结构定义需要可以任意配置,那么就要把XML的结构定义存放到数据库表中,可是这张数据库表的表结构要怎么定义呢?怎么才能把结构定义和需要往XML里写的多个数据集对应起来呢?
也许这是个比较弱弱的问题啦,还请各位大大不吝赐教!

解决方案 »

  1.   

    ???
    没看太懂,你是要把xml文档存储到数据库?
    可以用xmltype类型定义字段.
    create table t_xml
    (id number(10),
     content xmltype);
      

  2.   


    LZ并不是要把一个XML文件存到数据库中,而是要把多个数据集中的数据存入到XML中,而这个XML的样式和元素需要是可配置的,而难点就是怎么把这个可配置的XML结构存到数据库中,并且和多个数据集建立起关联来?
      

  3.   

    好吧,那么举例说明吧。首先,有3个数据集的数据,数据集数据如下:
    [table]
    F1|F2
    RQCR|2
    [/table][table]
    F1|F2|F3|F4|F5|F6|F7|F8
    1|796701645|20081111|0903|20080924537526800117000C|1|8888|X
    1|796701645|20081111|0903|20080924537526800117000C|2|44|X
    2|796701646|20081112|0904|20080924537526800117000D|1|9999|X
    2|796701646|20081112|0904|20080924537526800117000D|2|55|X
    [/table][table]
    F1|F2|F3|F4|F5|F6|F7
    796701645|20081111|0903|20080924537526800117000C|1|JC|N
    796701645|20081111|0903|20080924537526800117000C|2|RF|K
    [/table]然后,有一个XML结构,将会用它来存放数据<?xml version="1.0" encoding="gb18030" ?>
    <FDBK>
      <SFID></SFID>
      <RCTN></RCTN>
      <FCRCs>
        <FCRC   seqno="">
          <OCNM></OCNM>
          <OTDT></OTDT>
          <OTCD></OTCD>
          <OTIC></OTIC>
          <RCIFs>
            <RCIF   seqno="">
              <RCLC></RCLC>
              <RCSG></RCSG>
            </RCIF>
          </RCIFs>
        </FCRC>
      </FCRCs>
      <GCRC>
        <PCNM></PCNM>
        <PTDT></PTDT>
        <PTCD></PTCD>
        <PTIC> </PTIC>
        <SCIFs>
        <SCIF   seqno="">
          <SCLC></SCLC>
          <SCSG></SCSG>
        </SCIF>
        </SCIFs>
      </GCRC>
    </FDBK>最终得到如下的XML文件 <?xml version="1.0" encoding="gb18030" ?>
    <FDBK>
      <SFID>RQCR</SFID>
      <RCTN>2</RCTN>
      <FCRCs>
        <FCRC   seqno="1">
          <OCNM>796701645</OCNM>
          <OTDT>20081111</OTDT>
          <OTCD>0903</OTCD>
          <OTIC>20080924537526800117000C</OTIC>
          <RCIFs>
            <RCIF   seqno="1">
              <RCLC>8888</RCLC>
              <RCSG>X</RCSG>
            </RCIF>
            <RCIF   seqno="2">
              <RCLC>44</RCLC>
              <RCSG>X</RCSG>
            </RCIF>
          </RCIFs>
        </FCRC>
    <FCRC   seqno="2">
          <OCNM>796701646</OCNM>
          <OTDT>20081112</OTDT>
          <OTCD>0904</OTCD>
          <OTIC>20080924537526800117000D</OTIC>
          <RCIFs>
            <RCIF   seqno="1">
              <RCLC>9999</RCLC>
              <RCSG>X</RCSG>
            </RCIF>
            <RCIF   seqno="2">
              <RCLC>55</RCLC>
              <RCSG>X</RCSG>
            </RCIF>
          </RCIFs>
        </FCRC>
      </FCRCs>
      <GCRC>
        <PCNM>796701645</PCNM>
        <PTDT>20081111</PTDT>
        <PTCD>0903</PTCD>
        <PTIC> </PTIC>
        <SCIFs>
        <SCIF   seqno="1">
          <SCLC>JC</SCLC>
          <SCSG>N</SCSG>
        </SCIF>
        <SCIF   seqno="2">
          <RCLC>RF</SCLC>
          <RCSG>K</SCSG>
        </SCIF>
        </SCIFs>
      </GCRC>
    </FDBK>我的困难就是怎么把这个XML的结构灵活的配置在数据库中,并且能够与多个数据集关联起来?