编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 进入问吧 | 
用XSLT把XML的数据输入数据库, 注:经本人测试,此例不仅限于MYSQL,且适用于大多数DATABASE用XSLT把XML的数据输入数据库(MYSQL)的例子:<?xmlversion=1.0?><xsl:stylesheetversion=1.0xmlns:xsl=http://www.w3.org/1999/XSL/Transform><xsl:outputmethod=textindent=yes/><xsl:templatematch=/><xsl:apply-templatesselect=*/></xsl:template><!,
您现在的位置: 编程资料,学习资料,c,c++,vc,vc++,java,jsp,j2ee,j2me,asp,php >> 文章中心 >> XML 技术 >> 文章正文
【字体:
用XSLT把XML的数据输入数据库   进入问吧

本站地址:http://www.bajiao123.com

作者:admin    文章来源:不详    点击数:    更新时间:2007-3-7    

用XSLT把XML的数据输入数据库

注:经本人测试,此例不仅限于MY SQL,且适用于大多数DATABASE

用XSLT把XML的数据输入数据库(MY SQL)的例子:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method = "text" indent = "yes"/>
  <xsl:template match = "/" >
  <xsl:apply-templates select="*"/>
  </xsl:template>
  <!-- get the value to insert into the table "Qnre" -->
  <xsl:template match = "Qnre">
    <xsl:text>insert into Qnre values ('</xsl:text>
    <xsl:value-of select="@id"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="@client"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="@author"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="@contact"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="@version"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="@topic"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="@date"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qtitle"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qtitle/@clientlogo"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qintro/@privacy"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qintro/@heading"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qintro/@para"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qintro/@Qitem"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qbody/@action"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qbody/@uploads"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qbody/@bid"/>
    <xsl:text>');
</xsl:text>
    <!-- set to <Qsection> -->
    <xsl:apply-templates select="Qbody/Qsection"/>
  </xsl:template>
  <!-- get the value to insert into the table "Qsection" -->
  <xsl:template match = "Qsection">
   <xsl:text>insert into Qsection values ('</xsl:text>
   <xsl:value-of select="/Qnre/@id"/>
   <xsl:text>','</xsl:text>
   <xsl:value-of select="@sid"/>
   <xsl:text>','</xsl:text>
   <xsl:value-of select="Qintro/Qprivacy"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qintro/Qheading"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qintro/Qpara"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qintro/Qitem"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="goto"/>
    <xsl:text>');
</xsl:text>
    <!-- set to <Question> -->
    <xsl:apply-templates select="Question"/>
  </xsl:template>
  <!-- get the value to insert into the table "Question" -->
  <xsl:template match="Question">
    <xsl:text>insert into Question values ('</xsl:text>
    <xsl:value-of select="/Qnre/@id"/>
    <xsl:text>','</xsl:text>
    <!-- set to <Qsection> -->
    <xsl:value-of select="../@sid"/>
    <xsl:text>','</xsl:text>
   <xsl:value-of select="@qid"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="@kind"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qintro/Qprivacy"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qintro/Qheading"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qintro/Qpara"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qintro/Qitem"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qtext"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qanswer/Qother"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qanswer/@answertype"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="Qanswer/Qlink/@goto"/>
    <xsl:text>');
</xsl:text>
    <!-- set to <Qchoice> -->
    <xsl:apply-templates select="Qanswer/Qchoice"/>
  </xsl:template>
  <!-- get the value to insert into the table "Qchoice" -->
  <xsl:template match="Qchoice">
    <xsl:text>insert into Qchoice values ('</xsl:text>
    <xsl:value-of select="/Qnre/@id"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="/Qnre/Qbody/Qsection/@sid"/>
    <xsl:text>','</xsl:text>
    <!-- set to <Question> -->
    <xsl:value-of select="../../@qid"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="@val"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="/Qother/Qlink/@goto"/>
    <xsl:text>','</xsl:text>
    <xsl:value-of select="."/>
    <xsl:text>');
</xsl:text>
    </xsl:template>
</xsl:stylesheet>

/===========
输出结果文件可以另存为SQL FILE。然后在LINUX的COMMEND LINE里直接输入文件名就能自动INSERT INTO DATABASE了。


   

进入问吧

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 高级搜索
    编程资料集中营