嗯,主题说的都是真的。 如何通过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>
答案 0 :(得分:1)
XSLT
是一种将xml转换为xml,text或HTML(所有文本)的语言。它并不意味着连接到数据库。您需要在代码中执行此操作,例如: C#或使用xslt处理器支持的xslt扩展。我认为撒克逊有这种能力 - The Saxon SQL Extension。这要求您使用Saxon,它是用Java编写的。还有一个.net版本。