如何通过XSLT将数据XML插入数据库

时间:2014-03-19 12:41:35

标签: xml xslt

嗯,主题说的都是真的。 如何通过XSLT将数据XML插入到net 4 C#中的MySQL数据库中?

我有一些工作可以写C-sharp来改造 然而,xml到insert中,我更愿意使用XSLT并随时学习。

我的代码背后:

protected void Page_Load(object sender, EventArgs e)
{

    string xmlsrc = "http://.../News.rss";
    string Password = "ABC";
    string UserAccount = "123";
    string DomainName = "XYZ";
    string xslsrc = "RSS91.xslt";

    if (xmlsrc != "")
    {
        HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(xmlsrc);

        if (UserAccount != "")
        {
            wr.Credentials = new NetworkCredential(UserAccount, Password, DomainName);
        }

        wr.Timeout = 10000;
        WebResponse resp = wr.GetResponse();
        Stream stream = resp.GetResponseStream();

        XmlTextReader reader = new XmlTextReader(stream);
        reader.XmlResolver = null;

        XmlDocument doc = new XmlDocument();
        doc.Load(reader);

        xmlRSS.Document = doc;
    }
    xmlRSS.TransformSource = xslsrc;
}

我的XSLT:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" indent="yes"/>
  <xsl:param name="title"/>
  <xsl:template match="rss">
    <xsl:for-each select="channel/item">
      <br>
        <strong>
          <a href="{link}" target="_main">
            <xsl:value-of select="title"/>
          </a>
        </strong>
        <br></br>
        <xsl:value-of select="description" disable-output-escaping="yes"/>
      </br>
      <br></br>
      <xsl:value-of select="pubDate"/>
      <br></br>
    </xsl:for-each>
  </xsl:template>
  <xsl:template match="description">
    <br>
      <xsl:value-of select="."/>
    </br>
  </xsl:template>
</xsl:stylesheet>

1 个答案:

答案 0 :(得分:1)

XSLT是一种将xml转换为xml,text或HTML(所有文本)的语言。它并不意味着连接到数据库。您需要在代码中执行此操作,例如: C#或使用xslt处理器支持的xslt扩展。我认为撒克逊有这种能力 - The Saxon SQL Extension。这要求您使用Saxon,它是用Java编写的。还有一个.net版本。