2014-03-19 6 views
0

Ну, тема говорит все это на самом деле. Как вставить данные XML через XSLT в базу данных MySQL в сети 4 C#?Как вставить данные XML через XSLT в базу данных

У меня есть несколько заданий, которые я мог бы написать 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

XSLT является языком для преобразования XML-либо XML, текст или HTML (все текст по этому вопросу). Он не предназначен для подключения к базам данных. Вам нужно либо сделать это в своем коде, например. C# или использовать расширение xslt, которое поддерживается процессором xslt. Я думаю, что у Саксона есть эта способность - The Saxon SQL Extension. Это требует от вас использования Saxon, написанного на Java. Также есть версия .net.

Смежные вопросы