sqlxml,
sqlxml,高手请进!急急急急急急急急急急急急急急
问题描述:现在每天有20多个xml文件产生,一个就是条数据,现在要把每天产生的数据导入到sql里面;
例如其中一个xml文件内容如下所示:
<?xml version="1.0" encoding="GB2312" ?>
- <FLIGHT>
<DATETIME>2007-11-22 09:27:04</DATETIME>
<METHOD>MOD</METHOD>
<TYPE>A</TYPE>
- <FLIGHTINFOR>
<FLIGHTATTR>21</FLIGHTATTR>
<FLIGHTTYPE>0</FLIGHTTYPE>
<AIRCRAFTTYPE>E145</AIRCRAFTTYPE>
<REGISTRATION>3062</REGISTRATION>
<FLIGHTNUMBER>CZ3321</FLIGHTNUMBER>
<PRIMARYFLT />
<RELATEDFLT />
<FLIGHTSTATUS>COM</FLIGHTSTATUS>
<PORTNO />
- <FLIGHTDATETIME>
<PLANDATE>2007-11-22</PLANDATE>
<ADT />
<EDT>2007-11-22 10:33:00</EDT>
<SDT>2007-11-22 09:30:00</SDT>
</FLIGHTDATETIME>
- <STATION>
<ORIGIN>CAN</ORIGIN>
<DESTINATION>YIH</DESTINATION>
<VIA />
</STATION>
</FLIGHTINFOR>
- <DEP>
- <CHECKIN>
<COUNTEROPENDT />
<COUNTER />
</CHECKIN>
<DEPTERMINAL />
<GATE />
</DEP>
- <ARR>
<BELT>1</BELT>
</ARR>
</FLIGHT>
2,现在的问题是要把这些数据导入到sql数据库里面的一个表里(xml数据结构与sql数据库表结构不一致)
备注:最好是有工具之类的导入的(写程序太老火),我研究了2天了,对sqlxml还是不能完全了解,知道有这个批量导入xml的功能
如果有那位高手以前做个这样的项目,请发一个详细的做法,或者用那个工具及其怎么试用。非常感谢
本人qq:22602028(上班时间都在线)非常感谢!
------解决方案--------------------
问题描述:现在每天有20多个xml文件产生,一个就是条数据,现在要把每天产生的数据导入到sql里面;
例如其中一个xml文件内容如下所示:
<?xml version="1.0" encoding="GB2312" ?>
- <FLIGHT>
<DATETIME>2007-11-22 09:27:04</DATETIME>
<METHOD>MOD</METHOD>
<TYPE>A</TYPE>
- <FLIGHTINFOR>
<FLIGHTATTR>21</FLIGHTATTR>
<FLIGHTTYPE>0</FLIGHTTYPE>
<AIRCRAFTTYPE>E145</AIRCRAFTTYPE>
<REGISTRATION>3062</REGISTRATION>
<FLIGHTNUMBER>CZ3321</FLIGHTNUMBER>
<PRIMARYFLT />
<RELATEDFLT />
<FLIGHTSTATUS>COM</FLIGHTSTATUS>
<PORTNO />
- <FLIGHTDATETIME>
<PLANDATE>2007-11-22</PLANDATE>
<ADT />
<EDT>2007-11-22 10:33:00</EDT>
<SDT>2007-11-22 09:30:00</SDT>
</FLIGHTDATETIME>
- <STATION>
<ORIGIN>CAN</ORIGIN>
<DESTINATION>YIH</DESTINATION>
<VIA />
</STATION>
</FLIGHTINFOR>
- <DEP>
- <CHECKIN>
<COUNTEROPENDT />
<COUNTER />
</CHECKIN>
<DEPTERMINAL />
<GATE />
</DEP>
- <ARR>
<BELT>1</BELT>
</ARR>
</FLIGHT>
2,现在的问题是要把这些数据导入到sql数据库里面的一个表里(xml数据结构与sql数据库表结构不一致)
备注:最好是有工具之类的导入的(写程序太老火),我研究了2天了,对sqlxml还是不能完全了解,知道有这个批量导入xml的功能
如果有那位高手以前做个这样的项目,请发一个详细的做法,或者用那个工具及其怎么试用。非常感谢
本人qq:22602028(上班时间都在线)非常感谢!
------解决方案--------------------
- SQL code
declare @xml xml set @xml='<FLIGHT> <DATETIME> 2007-11-22 09:27:04 </DATETIME> <METHOD> MOD </METHOD> <TYPE> A </TYPE> <FLIGHTINFOR> <FLIGHTATTR> 21 </FLIGHTATTR> <FLIGHTTYPE> 0 </FLIGHTTYPE> <FLIGHTDATETIME> <PLANDATE> 2007-11-22 </PLANDATE> <ADT /> <EDT> 2007-11-22 10:33:00 </EDT> <SDT> 2007-11-22 09:30:00 </SDT> </FLIGHTDATETIME> </FLIGHTINFOR> </FLIGHT>' SELECT testByjinjazz.value('DATETIME[1]', 'DATETIME') DATETIME, testByjinjazz.value('METHOD[1]', 'nvarchar(10)') METHOD, testByjinjazz.value('TYPE[1]', 'nvarchar(10)') TYPE, testByjinjazz.value('FLIGHTINFOR[1]/FLIGHTATTR[1]','int') FLIGHTATTR, testByjinjazz.value('FLIGHTINFOR[1]/FLIGHTTYPE[1]','int') FLIGHTTYPE, testByjinjazz.value('FLIGHTINFOR[1]/FLIGHTDATETIME[1]/PLANDATE[1]','nvarchar(10)') PLANDATE, testByjinjazz.value('FLIGHTINFOR[1]/FLIGHTDATETIME[1]/ADT[1]','DATETIME') ADT, testByjinjazz.value('FLIGHTINFOR[1]/FLIGHTDATETIME[1]/EDT[1]','DATETIME') EDT, testByjinjazz.value('FLIGHTINFOR[1]/FLIGHTDATETIME[1]/SDT[1]','DATETIME') SDT FROM @xml.nodes('//FLIGHT') AS R(testByjinjazz) /* DATETIME METHOD TYPE FLIGHTATTR FLIGHTTYPE PLANDATE ADT EDT SDT ----------------------- ---------- ---------- ----------- ----------- ---------- ----------------------- ----------------------- ----------------------- 2007-11-22 09:27:04.000 MOD A 21 0 2007-11-2 1900-01-01 00:00:00.000 2007-11-22 10:33:00.000 2007-11-22 09:30:00.000 (1 行受影响) */
------解决方案--------------------