如何将xml中的数据写入到数据库中去
我有这样一个xml文件
<?xml version="1.0" encoding="gb2312" ?>
<table-pulishers>
<personnel><name>洒洒 </name><sex>男</sex><age>21 </age></personnel>
<personnel><name>西 </name><sex>男</sex><age>21 </age></personnel>
<personnel><name>幕幕 </name><sex>女</sex><age>21 </age></personnel>
<personnel><name>哭哭 </name><sex>男</sex><age>23 </age></personnel>
</table-pulishers>
怎么讲这些数据保存得到数据库的对应的表里去了,希望能得到较详细点的代码
问题点数:30、回复次数:6Top
1 楼seafo(海之牙)回复于 2001-11-30 18:42:36 得分 0
用xsl转换成SQL语句
再使用ODBC,ADO等写入数据库
Top
2 楼yzcjie(孩子王(dotNET一族))回复于 2001-11-30 21:17:33 得分 0
可以更详细的介绍一下不落,我想得到详细一点的资料那里有Top
3 楼seafo(海之牙)回复于 2001-12-05 09:56:01 得分 30
<HTML>
<HEAD>
<TITLE> Template </TITLE>
<META http-equiv=Pragma content='No-Cache'>
<META content="text/html; charset=GB2312" http-equiv=Content-Type>
<META http-equiv='Cache-Control' content='no-cache,must-revalidate'>
<META http-equiv='Cache-Control' content='no-store'>
<META http-equiv='expires' content='0'>
<XML id="sqlXSL" async=false>
<x:stylesheet xmlns:x="http://www.w3.org/1999/XSL/Transform" version="1.0">
<x:output method="text"/>
<x:template match="/">
<x:for-each select="root/x">
INSERT INTO TABLE1 (id,名称,性别) values(<x:value-of select="id"/>,'<x:value-of select="名称"/>','<x:value-of select="性别"/>')<br/>
</x:for-each>
</x:template>
</x:stylesheet>
</XML>
<XML id="d1">
<root>
<x id='1'><名称>王二</名称><性别>男</性别></x>
<x id='2'><名称>张三</名称><性别>男</性别></x>
<x id='3'><名称>李四</名称><性别>女</性别></x>
</root>
</XML>
<script>
window.onload=function()
{
var sql=d1.transformNode(sqlXSL.documentElement)
alert(sql)
}
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
如果你不知道生成的sql如何执行,那就没办法了Top
4 楼seafo(海之牙)回复于 2001-12-05 10:01:58 得分 0
如果你的IE不支持新的xsl语法,sqlXSL可以改为这样
<XML id="sqlXSL" async=false>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<xsl:for-each select="root/x">
INSERT INTO TABLE1 (id,名称,性别) values(<xsl:value-of select="id"/>,'<xsl:value-of select="名称"/>','<xsl:value-of select="性别"/>')
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
</XML>
Top
5 楼kangaroo(雪候鸟)回复于 2001-12-08 10:27:26 得分 0
seafo(伏晓海):
你好,谢谢你的例子,交个朋友怎么样,一起交流一下,QQ:45573739
Top
6 楼seafo(海之牙)回复于 2001-12-09 19:31:32 得分 0
因为不常上网,所以不太喜欢用QQ,
给你E-mail地址Seafo@sina.comTop




