当前位置:w88优德官网网文章中心网站开发Xml → 用XSLT把XML的数据输入数据库

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

减小字体 增大字体 作者:admin  来源:www.hack50.com  发布时间:2012-2-6 6:49:02
注:经本人测试,此例不仅限于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了。

本文引用网址:
在下列搜索引擎中搜索“用XSLT把XML的数据输入数据库”的相关信息:
谷歌搜索 百度搜索 雅虎搜索 搜狗搜索 搜搜搜索 必应搜索 有道搜索
你可能还喜欢以下文章
  • 1中国女大学生的淫靡生活
  • 2合肥艳照门全套高清组图 女主角...
  • 3雨后小故事完整版 雨后的小故事...
  • 4合肥艳照门升级再填新图 合肥艳...
  • 5qq表情雨后的故事3 姐姐给弟弟...
  • 1如何让网站被百度快速收录?百...
  • 2如何搭建第一个网站?做网站有...
  • 3网络红人如何赚钱?我要成为网...
  • 4新站快速提升网站的PR值
  • 5Dedecms会员注册验证邮箱的实现...
  • 190后偷食禁果惊爆厕所门高清组...
  • 2中国女大学生的淫靡生活
  • 3韩国惊爆艳照门 盘点韩国演艺圈...
  • 4沈阳航空学院王婷不雅视频曝光...
  • 5嫩白少妇与猛男户外疯狂车震遭...
  • 1LAMP:配置Linux Apache Web服务...
  • 2硬盘数据修复软件EasyRecovery...
  • 3Windows Server 2003 安全性指...
  • 4IIS服务器的备份和移植技巧
  • 5Linux操作系统下如何删除Windo...
  • 赞助商广告

    图片文章导读