vc 把xml文件导入到sql server中

时间:2021-12-01 00:39:57
vc 把xml文件导入到sql server中?



我也是吉大的,看到校友真高兴,呵呵。

10 个解决方案

#1


等待老大出现

#2


SQLServer2000以后支持XML,以前的版本只有自己解析了。

#3


楼主是问如何写入SQL SERVER吗?
ADO...

#4


恩,ADO方式,数据库是sql server 2000

#5


解析XML文件,写入表里就可以了吧

按节点

#6


不好意思,我没有说清楚. 
要在vc中实现把一个xml文件导入到没有表结构定义的sql server2000数据库中 
的方法?

#7


没有表?你要存到哪里?

#8


我的个人思路:是这样,用个FOR循环将记录一条条写回到SQL中,
for (i=0;i<最大结点数-1;i++)//这个最大结点数,对应于XML表的子孙结点.
{
    //一条条取数据,这里结点1...n为了方便好记,取名最好与数据库字段相对应
    字段一变量=结点1的值;
   字段二变量=结点2的值;
   字段三变量=结点3的值;
   字段四变量=结点4的值;
   .
   .
   .
   字段N变量=结点N的值;

再将字段变量写回SQL;就OK了.前提是SQL表结构与XML相对应,如果想只用XML的表结构生成SQL的表结构也可以,但麻烦点,要先CREATE TABLE 再读取XML相应结点做表字段,最后一起EXECUTE SQL.

#9


通ADO 的结果集 save() 生成的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'>
<s:AttributeType name='id' rs:number='1'>
<s:datatype dt:type='i2' dt:maxLength='2' rs:precision='5' rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='name' rs:number='2' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='password' rs:number='3' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='phone' rs:number='4' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='city' rs:number='5' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:maybenull='false'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row id='1' name='dodo' password='dodo' phone='11111111' city='NY        '/>
<z:row id='2' name='kaka' password='111' phone='22222222' city='CA        '/>
</rs:data>
</xml>

有没有什么比较方便的方法,建表,导数据一起完成的?

#10


如果没有表,在解析完XML后,确定表格字段,在程序中生成表格及相应字段,然后将解析出的数据写入表的相应字段中。

#1


等待老大出现

#2


SQLServer2000以后支持XML,以前的版本只有自己解析了。

#3


楼主是问如何写入SQL SERVER吗?
ADO...

#4


恩,ADO方式,数据库是sql server 2000

#5


解析XML文件,写入表里就可以了吧

按节点

#6


不好意思,我没有说清楚. 
要在vc中实现把一个xml文件导入到没有表结构定义的sql server2000数据库中 
的方法?

#7


没有表?你要存到哪里?

#8


我的个人思路:是这样,用个FOR循环将记录一条条写回到SQL中,
for (i=0;i<最大结点数-1;i++)//这个最大结点数,对应于XML表的子孙结点.
{
    //一条条取数据,这里结点1...n为了方便好记,取名最好与数据库字段相对应
    字段一变量=结点1的值;
   字段二变量=结点2的值;
   字段三变量=结点3的值;
   字段四变量=结点4的值;
   .
   .
   .
   字段N变量=结点N的值;

再将字段变量写回SQL;就OK了.前提是SQL表结构与XML相对应,如果想只用XML的表结构生成SQL的表结构也可以,但麻烦点,要先CREATE TABLE 再读取XML相应结点做表字段,最后一起EXECUTE SQL.

#9


通ADO 的结果集 save() 生成的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'>
<s:AttributeType name='id' rs:number='1'>
<s:datatype dt:type='i2' dt:maxLength='2' rs:precision='5' rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='name' rs:number='2' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='password' rs:number='3' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='phone' rs:number='4' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='city' rs:number='5' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:maybenull='false'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row id='1' name='dodo' password='dodo' phone='11111111' city='NY        '/>
<z:row id='2' name='kaka' password='111' phone='22222222' city='CA        '/>
</rs:data>
</xml>

有没有什么比较方便的方法,建表,导数据一起完成的?

#10


如果没有表,在解析完XML后,确定表格字段,在程序中生成表格及相应字段,然后将解析出的数据写入表的相应字段中。